为什么我的安装(在虚拟环境中的Windows上)python脚本没有完整路径?

时间:2014-10-21 21:54:12

标签: python windows python-2.7 package virtualenv

我写了一个小python包然后使用pip将它安装在我的Python 2.7虚拟环境中。我的软件包包含一个命令行实用程序脚本,我们称之为my_script.py,它通过import mypkg调用使用我的软件包中的功能。该脚本已成功安装到我的virtualenv Scripts文件夹中,但在激活我的virtualenv后,如果我调用

(my_env) > python my_script.py --help

我收到错误:

python: can't open file 'my_script.py': [Errno 2] No such file or directory

如果我打电话

(my_env) > my_script.py --help

我收到错误

Traceback (most recent call last): File "C:\PyEnvs\my_env\Scripts\my_script.py", line 1, in <module> import mypkg ImportError: No module named mypkg

(即使mypkg清楚地显示pip list)。只有我打电话

python C:\PyEnvs\my_env\Scripts\my_script.py --help

脚本是否按预期工作。我做错了什么,或者这是Windows上virtualenv的缺陷?

(另请注意,C:\PyEnvs\my_env\Scripts位于我的%PATH%中,即使C:\PyEnvs\my_env\Scripts也在我的%PYTHONPATH%中,我也会得到相同的行为。)

1 个答案:

答案 0 :(得分:0)

> python my_script.py

仅在当前目录位于PATH环境变量中时才有效。如果不是,则必须完全或相对于工作目录指定它所取的目录。

所以你可以这样做:

> python .\myscript.py

或更新你的PATH并添加&#34;。&#34;对于当前目录。 http://en.wikipedia.org/wiki/PATH_(variable)