0

我的setup.py文件看起来像

$ cat setup.py 
from setuptools import setup
 
setup(
     name='user1-hello-world',
     version='0.20', 
     scripts=['user1-hello-world'] ,
     data_files=[('/usr/sbin/',['user1-bin2'])]
)

我有 1 个 python 脚本(user1-hello-world)和 1 个 elf 二进制文件(user1-bin2)

$ ls
user1-hello-world user1-bin2 setup.py

使用 twine 构建和上传,例如:

 python3 setup.py sdist bdist_wheel
 python3 -m twine upload --repository testpypi dist/*

将文件上传到 test.pypi.org 后。通过 pip 安装显示主目录下的文件。

/home/user/.local/bin/user1-hello-world
/home/user1/.local/lib/python3.8/site-packages/user1_hello_world-0.20.dist-info/*
/home/user1/.local/lib/python3.8/site-packages/usr/sbin/user1-bin2

我希望安装user1-bin2/usr/sbinlike下/usr/sbin/user1-bin2。如何做到这一点?感谢您的任何指点。

4

1 回答 1

0

首先,通过编辑 $HOME/.pip/pip.conf 来设置安装位置

[global]
target=usr/sbin

或者只是使用--target usr/sbin

然后,因为 usr/sbin 文件夹需要 root 权限,所以不要忘记添加一个 sudo(在 linux 上):

sudo pip install your-package
于 2020-08-12T14:33:03.143 回答