我正嘗試向PYTHONPATH環境變量添加一個路徑,該路徑只能在特定的virtualenv環境中可見。如何在virtualenv中添加PYTHONPATH的路徑
我在virtualenv命令提示符下嘗試SET PYTHONPATH=...
,但是它爲整個環境設置了變量。
我該如何做到這一點?
我正嘗試向PYTHONPATH環境變量添加一個路徑,該路徑只能在特定的virtualenv環境中可見。如何在virtualenv中添加PYTHONPATH的路徑
我在virtualenv命令提示符下嘗試SET PYTHONPATH=...
,但是它爲整個環境設置了變量。
我該如何做到這一點?
您通常可以避免必須通過using .pth
files與PYTHONPATH做任何事情。只需在virtualenv的site-packages文件夾中放置一個.pth擴展名的文件(任何basename works),例如lib\python2.7\site-packages
,包含您的包的目錄的絕對路徑作爲其唯一內容。
如果您使用virtualenv
,你應該也可以使用virtualenvwrapper,在這種情況下,你可以使用add2virtualenv命令路徑添加到Python路徑當前的virtualenv:
add2virtualenv directory1 directory2 …
你也可以嘗試將符號鏈接添加到您的virtualenv中。
例如。 1)激活你的virtualenv 2)運行python 3)import sys並檢查sys.path 4)你會在那裏找到python的搜索路徑。選擇其中一個(例如站點包) 5)去那裏創建符號鏈接到你的軟件包,例如: ln -s路徑到你的軟件包名稱 - 你將要導入的文件
這樣,即使不激活你的virtualenv,你也應該可以導入它。只需嘗試:path-to-your-virtualenv-folder/bin/python 並導入你的軟件包。
我想這是downvoted使用符號鏈接,而不是.pth文件。它雖然爲我工作,所以,很難過。 –
在Python 3.6.4
import sys
import os
print(str(sys.path))
dir_path = os.path.dirname(os.path.realpath(__file__))
print(f"current working dir: {dir_path}")
sys.path.insert(0, dir_path)
我強烈建議你使用的virtualenv和virtualenvwrapper,以避免弄亂路徑
,這是否實用從何而來?我試過pip安裝virtualenvwrapper,並沒有得到它。 – AlanObject
https://bitbucket.org/dhellmann/virtualenvwrapper – crimeminister
如何從virtualenv中刪除? – silverdagger