[英]Why doesn't my installed (on Windows in a virtual environment) python script work without a full path?
我編寫了一個小型python程序包,然后使用pip將其安裝在我的Python 2.7虛擬環境中。 我的程序包包含一個命令行實用程序腳本,我們稱其為my_script.py
,它通過import mypkg
調用使用了程序包中的功能。 該腳本已成功安裝到我的virtualenv腳本文件夾中,但是在激活我的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%中,我也會得到相同的行為。)
> python my_script.py
僅當當前目錄在您的PATH環境變量中時才起作用。 如果不是,則必須完全或相對於工作目錄將其指定為un。
所以你可以這樣做:
> python .\myscript.py
或更新您的PATH並添加“。” 用於當前目錄。 http://en.wikipedia.org/wiki/PATH_(變量)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.