簡體   English   中英

你如何在已經創建的 virtualenv 中設置你的 pythonpath?

[英]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/pathsys.path ,並保持在virtualenv設置的本地。

  1. 初始化你的 virtualenv
cd venv

source bin/activate
  1. 只需輸入以下命令來設置或更改您的python路徑:
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
  1. 用於檢查python路徑在python中輸入:
   python

      \>\> import sys

      \>\> sys.path

我修改了我的激活腳本以獲取文件.virtualenvrc ,如果它存在於當前目錄中,並在激活/停用時保存/恢復PYTHONPATH

您可以在此處找到修補的activate腳本。 . 它是 virtualenv 1.11.6 創建的 activate 腳本的替代品。

然后我在我的.virtualenvrc添加了這樣的東西:

export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"

它已經在這里回答 -> 我的虛擬環境(python)是否導致我的 PYTHONPATH 中斷?

UNIX/Linux

將“export PYTHONPATH=/usr/local/lib/python2.0”添加到 ~/.bashrc 文件並通過鍵入“source ~/.bashrc”或“. ~/.bashrc”來獲取它。

視窗XP

1) 進入控制面板 2) 雙擊系統 3) 進入高級選項卡 4) 點擊環境變量

在“系統變量”窗口中,檢查您是否有名為 PYTHONPATH 的變量。 如果您已經有一個,請檢查它是否指向正確的目錄。 如果您還沒有,請單擊“新建”按鈕並創建它。

蟒蛇代碼

或者,您也可以在代碼下方執行以下操作:-

import sys
sys.path.append("/home/me/mypy") 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM