[英]How do you set your pythonpath in an already-created virtualenv?
我要編輯什么文件,如何編輯? 我創建了一個虛擬環境。
這個問題最優雅的解決方案是這里。
原始答案仍然存在,但這是一個凌亂的解決方案:
如果要更改 virtualenv 中使用的PYTHONPATH
,可以將以下行添加到 virtualenv 的bin/activate
文件中:
export PYTHONPATH="/the/path/you/want"
這樣,每次使用這個 virtualenv 時都會設置新的PYTHONPATH
。
編輯:(回答@RamRachum 的評論)
要在deactivate
時恢復到其原始值,您可以添加
export OLD_PYTHONPATH="$PYTHONPATH"
在前面提到的行之前,並將以下行添加到您的bin/postdeactivate
腳本中。
export PYTHONPATH="$OLD_PYTHONPATH"
@s29 的評論應該是一個答案:
將目錄添加到虛擬環境的一種方法是安裝 virtualenvwrapper(這對許多事情很有用)然后執行
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
如果要刪除這些路徑,請編輯文件myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
關於 virtualenvwrapper 的文檔可以在http://virtualenvwrapper.readthedocs.org/en/latest/找到
有關此功能的特定文檔可以在http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv 中找到
您可以創建一個包含要搜索的目錄的.pth
文件,並將其放置在{venv-root}/lib/{python-version}/site-packages
目錄中。 例如:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
效果與將/some/library/path
到sys.path
,並保持在virtualenv
設置的本地。
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
我修改了我的激活腳本以獲取文件.virtualenvrc
,如果它存在於當前目錄中,並在激活/停用時保存/恢復PYTHONPATH
。
您可以在此處找到修補的activate
腳本。 . 它是 virtualenv 1.11.6 創建的 activate 腳本的替代品。
然后我在我的.virtualenvrc
添加了這樣的東西:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
它已經在這里回答 -> 我的虛擬環境(python)是否導致我的 PYTHONPATH 中斷?
將“export PYTHONPATH=/usr/local/lib/python2.0”添加到 ~/.bashrc 文件並通過鍵入“source ~/.bashrc”或“. ~/.bashrc”來獲取它。
1) 進入控制面板 2) 雙擊系統 3) 進入高級選項卡 4) 點擊環境變量
在“系統變量”窗口中,檢查您是否有名為 PYTHONPATH 的變量。 如果您已經有一個,請檢查它是否指向正確的目錄。 如果您還沒有,請單擊“新建”按鈕並創建它。
或者,您也可以在代碼下方執行以下操作:-
import sys
sys.path.append("/home/me/mypy")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.