问题描述
我的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个小精灵二进制文件(user1-bin2)
$ ls
user1-hello-world user1-bin2 setup.py
使用以下麻线构建和上传:
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/sbin
下安装/usr/sbin/user1-bin2
。如何实现呢?谢谢你的指点。
解决方法
首先set the install location,方法是将$ HOME / .pip / pip.conf编辑为
[global]
target=usr/sbin
或仅使用--target usr/sbin
然后,因为usr / sbin文件夹需要root权限,所以请不要忘记添加sudo(在Linux上):
sudo pip install your-package