在pyenv虚拟环境中运行的Python脚本中使用哪个shebang
- 论坛
- 在pyenv虚拟环境中运行的Python脚本中使用哪个shebang
15 浏览
在pyenv虚拟环境中运行的Python脚本中使用哪个shebang
当一个Python脚本应该从pyenv
virtualenv
中运行时,文件的正确shebang是什么?
举个例子,我系统(OS X)上的默认Python没有安装pandas
。而pyenv virtualenv venv_name
有安装。我试图从virtualenv中获取Python可执行文件的路径。
pyenv activate venv_name
which python
输出结果:
/Users/username/.pyenv/shims/python
所以我创建了我的例子script.py
:
#!/Users/username/.pyenv/shims/python import pandas as pd print 'success'
但是当我试图运行脚本(在'venv_name'中),我得到了一个错误:
./script.py
输出结果:
./script.py: line 2: import: command not found
./script.py: line 3: print: command not found
虽然直接从命令行运行该路径(在'venv_name'中)可以正常工作:
/Users/username/.pyenv/shims/python script.py
输出结果:
success
还有:
python script.py # 也可以运行
输出结果:
success
这个应该使用什么正确的shebang?理想情况下,我希望使用一个通用的shebang,这样它将指向当前venv的Python。