簡體   English   中英

在 MacOS 上安裝 virtualenv 和 virtualenvwrapper

[英]Install virtualenv and virtualenvwrapper on MacOS

如何在MacOS上為Python安裝和配置virtualenvvirtualenvwrapper

要安裝virtualenvvirtualenvwrapper以供重復使用,您需要正確配置的Python (此示例使用Python 3.x但過程與Python 2.x相同)。

盡管您可以從 Python 網站獲得python安裝程序,但我強烈建議您不要使用它。 MacOS上安裝Python的最方便且面向未來的方法是brew

來自 Python 網站的安裝程序和brew主要區別在於安裝程序將python包放置到:

/Library/Frameworks/Python.framework/Versions/3.x

另一方面, Brew安裝PythonPipSetuptools並將所有內容放在:

/usr/local/bin/python3.x/site-packages

盡管它現在可能對您沒有任何影響 - 以后會有所不同。

配置步驟

  1. 安裝brew

查看brew安裝頁面或簡單地在您的終端中運行它:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. 安裝Python

使用brew run 安裝python

brew install python3

現在您的系統需要知道在哪里尋找新安裝的Python包。 將此行添加到您的~/.zshrc (或~/.bash_profile如果您使用的是bash ):

export PATH=/usr/local/share/python:$PATH

重啟你的終端。 為確保您已正確完成所有操作,運行which python3並作為回報,您應該收到/usr/local/bin/python

  1. 安裝virtualenvvirtualenvwrapper

現在是時候安裝virtualenvvirtualenvwrapper以便能夠使用workon命令並在虛擬環境之間切換。 這是使用pip完成的:

pip3 install virtualenv virtualenvwrapper
  1. 設置virtualenv變量

為您的虛擬環境定義默認路徑。 例如,您可以在~內創建一個隱藏目錄,並使用mkdir ~/.virtualenvs將其.virtualenvsmkdir ~/.virtualenvs virtualenv變量添加到.zshrc (或.bash_profile )。

您的.zshrc (或.bash_profile )的最終版本應包含以下信息,以便與已安裝的軟件包正常工作:

# Setting PATH for Python 3 installed by brew
export PATH=/usr/local/share/python:$PATH

# Configuration for virtualenv
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

重啟你的終端。 您應該能夠使用mkvirtualenvworkon命令,包括自動完成。

這里有一個關於如何使用特定版本的 Python 創建 virtualenv的小技巧

如果您使用的是MacOS Mojave並且您正在從 brew 瓶安裝Python3.6 ,您可能會遇到pip問題, 這里的解決方案可能會有所幫助。


隨着時間的推移,你們中的一些人可能想要安裝多個Python版本,每個版本具有多個虛擬環境。 這就是pyenvpyenv-virtualenv發揮作用的地方。

我正在運行macOS 10.15.7

我遵循官方文檔直到這里

並將其更改為

export WORKON_HOME=$HOME/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3

# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv

# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh

在您的情況下,嘗試運行which virtualenvwhich python以獲取確切路徑

以下解決方案對我有用。 我已經在裝有 OS Big Sur (11.4) 的 MAC 筆記本電腦中使用which python3.8檢查了 python 路徑

/Users/apple/opt/anaconda3/bin/python3.8

還檢查了which virtualenvwrapper.sh

/Users/apple/opt/anaconda3/bin/virtualenvwrapper.sh

使用上述路徑更新我的 ~/.bash_profile ,如下所示。

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/Users/apple/opt/anaconda3/bin/python3.8
source /Users/apple/opt/anaconda3/bin/virtualenvwrapper.sh

然后我成功地找到了 ~/.bash_profile。

此解決方案也適用於 11.1 版

export WORKON_HOME=$HOME/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3

# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv

# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh

Mac Big Sur Python 3.8

安裝

pip3 install virtualenv virtualenvwrapper

要么

pip3 install virtualenv virtualenvwrapper --user

在您的家中創建目錄

mkdir .virtualenvs

編輯個人資料

vi .bash_profile

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export WORKON_HOME=$HOME/.virtualenvs

export VIRTUALENVWRAPPER_VIRTUALENV=/Users/{your_user}/Library/Python/3.8/bin/virtualenv

source /Users/{your_user}/Library/Python/3.8/bin/virtualenvwrapper.sh
  • 使用“which”命令或“find”檢查路徑:

重新加載 .bash_profile

source ~/.bash_profile

我在我的 mac os (big sur) 中安裝 virtualenvwrapper 時遇到了很多問題,但是在我花了整個星期天的時間之后,我終於得到了它。 我做了什么:

  1. 我使用自制軟件重新安裝了python3。 出於某種原因,自制軟件將您的文件放在非常規目錄中(例如:/opt/homebrew/bin/python3 或 /opt/homebrew/bin/virtualenv)

  2. 比我安裝了virtualenv(即使它默認已經安裝在python3中)並且我在sudo模式下安裝了virtualenvwrapper:sudo pip3 install virtualenvwrapper(沒有sudo,我無法使用whichvirtualenvwrapper找到virtualenvwrapper.sh)。

  3. 之后,在我的主目錄 (/~) 中,我使用 touch .bashrc 創建了 .bashrc 文件,因為我的主目錄中不存在該文件。

  4. 我使用命令“which python3”、“which virtualenv”和“which virtualenvwrapper.sh”來獲取它們的本地化(稍后獲取這些位置以填充 .bashrc 文件很重要)。 結果是:

    • /opt/homebrew/bin/python3
    • /opt/homebrew/bin/virtualenv
    • /opt/homebrew/bin/virtualenvwrapper.sh
  5. 然后,使用 vim 編輯器,我在這個文件中這樣寫:

    export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel export VIRTUALENVWRAPPER_PYTHON=/opt/homebrew/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/opt/homebrew/bin/virtualenv source /opt/homebrew/bin/virtualenvwrapper.sh

  6. 然后,我使用 :wq 命令保存了這個文件並使用這個命令運行它:source .bashrc

  7. 比我使用寫作“workon”命令的睾丸。 它什么也沒顯示所以它起作用了

  8. 最后我創建了一個虛擬環境。 有效。

我犯了很多錯誤,我真的希望我沒有損壞我的操作系統。

Stan 的解決方案需要對我進行不同的 .bash_profile 修改:(macOS Catalina 和 Python 3.6)請確保將版本路徑從“..../3.6/...”更改為您的版本。 您可以使用“which python3”命令找出python路徑和“which virtualenv”作為virtualenv路徑

### BEGIN: for virtualenvwrapper #########################
# Setting PATH for Python 3 installed by brew
# commented the Python path because I have already had that, you might have too.
# PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3:${PATH}"
# export PATH
# Configuration for virtualenv
WORKON_HOME="${HOME}/.virtualenvs"
export WORKON_HOME

VIRTUALENVWRAPPER_PYTHON="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3"
export VIRTUALENVWRAPPER_PYTHON
VIRTUALENVWRAPPER_VIRTUALENV="/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv"
export VIRTUALENVWRAPPER_VIRTUALENV
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
### END: for virtualenvwrapper #########################

如果您使用的是 MacOS

1.

安裝 virtualenvwrapper

pip3 install virtualenvwrapper

2.

創建“virtualenvs”文件夾

mkdir ~/.virtualenvs

3.

在導出之前,請確保您在項目文件夾中執行此操作,因為您將在那里激活 virtualenv

出口

export WORKON_HOME=$HOME/.virtualenvs

接下來,在終端which python3寫下which python3 ,找到路徑並將其添加到“=”符號后

export VIRTUALENVWRAPPER_PYTHON=

就我而言:

export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3

在終端中找到virtualenv路徑寫入which virtualenv

在“=”符號后添加路徑

export VIRTUALENVWRAPPER_VIRTUALENV=

就我而言:

export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenv

4.

最后一步是在終端中添加源

幾乎和你在寫which virtualenv時得到的路徑一樣

區別在於最后的“wrapper.sh”。

就我而言

source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh

5.

現在您可以通過執行以下操作來創建 virtualenv 名稱:

mkvirtualenv nameOfTheVirtualEnviroment

就我而言

mkvirtualenv venv

在此Mozila 頁面上,您可以了解如何使用它

暫無
暫無

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

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