我正在尝试创建自己的包。包非常简单,它有一个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'],
)
以下摘录自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
有了这个,我无法直接调用python或bash脚本。
有什么想法吗?
编辑:我在pip
计算机上运行Ubuntu 16.04.1
。只是尝试在Ubuntu 14.04
计算机上安装相同的程序包,行为符合预期。 cloud_config.py
和deploy.sh
都安装到/usr/local/bin
,我可以从系统的任何位置调用它们。
答案 0 :(得分:2)
我能想到的两个选项,首先,检查pip是否指向正确的位置。所以试试:
which python
我说:
/usr/bin/python
你的不同,相应地改变路径 然后确保PATH设置正确,所以:
export PATH=/usr/bin/python:${PATH}
重新安装pip然后重试。 如果做不到这一点,解决方法可能是在此实例中不使用pip并尝试:
python setup.py install
将使用您的默认python路径(而不是pip)并应安装到:
/usr/local/bin
答案 1 :(得分:1)
最后我开始工作了。我不得不删除apt。
安装的pip包wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
然后根据其网站上的说明再次安装pip - https://pip.pypa.io/en/stable/installing/。
function datum(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Master');
var getDatum = sheet.getRange("C4").getValue();
var date = new Date(getDatum); // MM/DD/YYYY
date.setDate(date.getDate()+1);
var dateStr = date.getDay()+'/'+(date.getMonth()+1)+'/'+date.getFullYear();
var setDatum = sheet.getRange("W3");
setDatum.clear();
setDatum.setValue(dateStr);
}
看起来Ubuntu的默认存储库中的pip与pypi发布的pip不同。
答案 2 :(得分:0)
尝试:
pip install --install-option="--prefix=$PREFIX_PATH" package_name
e.g。
pip install --install-option="--prefix=/usr/local/bin" pyFooBar
答案 3 :(得分:0)
save_probability
不适用于旧版本的pip。点10.0.1太旧了。点19.0.3足够新。