举个例子,如果我运行命令
sudo pip install gunicorn
现在有一个文件
/usr/local/bin/gunicorn
和一个文件夹
/usr/local/lib/python2.7/site-packages/gunicorn
我可以从炮弹中射出“枪炮”。
但是,如果我运行命令
sudo pip install gunicorn --target=~/tmp_directory
有一个文件夹
~/tmp_directory/gunicorn
然而,在任何地方都没有“bin / gunicorn”,我无法从外壳中运行“gunicorn”。通过pip文档,我找不到任何针对这种特殊情况的内容。我这样做的确切原因是尝试在Heroku上设置自定义buildpack。
答案 0 :(得分:14)
我刚刚发现它实际上可以告诉'pip'在哪里放置脚本,数据等。
您可以使用--install-option
将选项传递给setuptools。因此,如果您想指定放置脚本的位置,您可以:
pip install gunicorn --install-option="--install-scripts=$PWD/bin" -t python_modules/
现在,当前目录中的gunicorn
命令位于bin/
内,目标目录python_modules
中安装了包。
bin/gunicorn
答案 1 :(得分:4)
你可以sudo ln -s ~/tmp_directory/gunicorn /usr/bin/gunicorn
。
如果我正确理解您的需求,建议您尝试virtualenv,这是一种创建独立Python环境的工具。您可以在同一服务器上为每个项目安装不同版本的Python包。强烈推荐用于Python开发。我使用virtualenvwrapper,一个包装器,使其更容易使用
答案 2 :(得分:0)
已在GitHub上创建了有关此问题的问题:https://github.com/pypa/pip/issues/3934
这是因为必要的--install-option="--install-scripts=$PWD/bin"
标志不能与.whl
个文件一起使用:
.../lib/python2.7/site-packages/pip/commands/install.py:194:
UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
cmdoptions.check_install_build_global(options)
答案 3 :(得分:0)
使用 Python 3.9,CASE
WHEN b.Outcome IN ("Answered",
"Answerphone Message Left",
"Answerphone Message Not Left",
"No Answer")
AND
a.Start_date <= b.Date < a.End_date
AND
a.End_date <= b.Date+2
THEN 1
ELSE 0
END AS Cured
会自动将可执行文件安装到给定目标目录的子文件夹 --target
中。