ron*_*akg 13 python bash pip setup.py
我正在尝试创建一个自己的包.包非常简单,它有一个python模块和一个bash脚本.我想把它们都安装好,/usr/local/bin以便它们可以直接执行.
这是我的setup.py档案:
from setuptools import setup
setup(
name='deploy',
.
.
.
install_requires=['pyyaml', 'cot', 'jsonschema'],
entry_points={
'console_scripts': [
'cloud_config = cloud_config:main',
],
},
scripts=['deploy.sh'],
)
Run Code Online (Sandbox Code Playgroud)
以下是输出的摘录pip install ...:
running install_scripts
copying build/scripts-2.7/deploy.sh -> /usr/local/lib/python2.7.10/bin
changing mode of /usr/local/lib/python2.7.10/bin/deploy.sh to 755
Installing cloud_config script to /usr/local/lib/python2.7.10/bin
Run Code Online (Sandbox Code Playgroud)
有了这个,我无法直接调用python或bash脚本.
有任何想法吗?
编辑:我运行pip的Ubuntu 16.04.1机器.只是尝试在Ubuntu 14.04机器上安装相同的包,行为是预期的.cloud_config.py并且deploy.sh都安装到了/usr/local/bin,我可以从系统的任何地方调用它们.
最后我让它工作了。我必须删除 apt 安装的 pip 软件包。
sudo apt remove python-pip
Run Code Online (Sandbox Code Playgroud)
然后根据其网站上的说明再次安装 pip - https://pip.pypa.io/en/stable/installing/。
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Run Code Online (Sandbox Code Playgroud)
看起来 Ubuntu 默认存储库中的 pip 与 pypi 分发的 pip 不同。