我最近安装了pyenv,以便在每个项目的基础上在几个竞争的python解释器之间切换。因此,python setup.py develop
在console_script
中放置了~/.pyenv/versions/3.4.3/bin
个入口点。但是,从命令行调用其中一个脚本(例如:$ my_entry_point_script
)会导致错误:找不到命令。
如何解决此问题?这是$PATH
,$PTHONPATH
还有其他问题吗?作为参考,我的shell(fish)在启动时执行status --is-interactive; and . (pyenv init -lpsub)
。
编辑:正确的解决方案将在各种版本的python之间保持清晰的分离。
答案 0 :(得分:0)
你需要告诉你的shell(可能是bash?)在哪里寻找可执行程序。你可以在命令行上执行此操作(或将其写入.bashrc
以使其永久化):
PATH=/new/path:"${PATH}"
更新:在fish
中,这将是:
set PATH /new/path $PATH
并使其永久化:编辑~/.config/fish/config.fish
并在上面写上面的行。
警告:这会带来安全问题(取决于谁对您的virtual-env目录具有写入权限; ls
的恶意版本或其他命令可能会破坏您的系统)。
或 - 一如既往 - 您可以使用完整路径调用您的程序。
答案 1 :(得分:0)
要使二进制文件正常工作,您需要运行
pyenv rehash
来自pyenv帮助
pyenv rehash - Rehash pyenv shims (run this after installing executables)