Way*_*rad 6 python setuptools pyenv
当我通过使用./setup.py install
将包安装到pyenv环境中时,包的脚本不会添加到pyenv的shim目录中.因此,脚本不在我的PATH中,无法正常执行.
我的包正在使用setuptools.我的包setup.py
指定了应该安装的脚本.
SCRIPTS = [
'bin/olio_msg_send_test_messages',
]
setup(
...
scripts=SCRIPTS,
...
)
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令安装包时:
./setup.py build
./setup.py install
Run Code Online (Sandbox Code Playgroud)
然后脚本安装到包的目录中:
...
Installing olio_msg_send_test_messages script to /home/wayne/.pyenv/versions/2.6.9/bin
...
Run Code Online (Sandbox Code Playgroud)
文件确实存在:
$ ls -l /home/wayne/.pyenv/versions/2.6.9/bin/olio_msg_send_test_messages
-rwxrwxr-x 1 wayne wayne 240 Apr 20 09:30 /home/wayne/.pyenv/versions/2.6.9/bin/olio_msg_send_test_messages
Run Code Online (Sandbox Code Playgroud)
但是,pyenv的shims目录中没有添加任何填充程序:
$ ls -l ~/.pyenv/shims/olio_msg_send_test_messages
ls: cannot access /home/wayne/.pyenv/shims/olio_msg_send_test_messages: No such file or directory
Run Code Online (Sandbox Code Playgroud)
因此,脚本不在我的PATH中,并且无法通过键入其名称来执行.
我需要做什么才能在安装软件包时创建pyenv填充程序./setup.py install
?
版本:
安装新软件包时,v20141211之前的pyenv版本不会自动"重新散列"(即更新填充程序).要让pyenv自动重新散列,请升级到更新版本的pyenv,或者安装pyenv-pip-refresh插件.
要手动重新散列,请将此命令用于bash:
pyenv rehash && hash -r
Run Code Online (Sandbox Code Playgroud)
或者这个命令zsh
:
pyenv rehash && rehash
Run Code Online (Sandbox Code Playgroud)
(重复说明来自yyuu回复此github问题)
归档时间: |
|
查看次数: |
2422 次 |
最近记录: |