![](/img/trans.png)
[英]What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc?
[英]What is the difference between pyenv, virtualenv, anaconda?
我是一名 ruby 程序員,正在嘗試學習 python。我對 pyenv 非常熟悉,因為它就像是從 rbenv 復制和粘貼。 Pyenv 有助於允許在一個系統中擁有多個版本的 python,並在不接觸系統敏感部分的情況下隔離 python。
我想每個 python 安裝都帶有 pip package。我仍然不明白的是,那里有很多好的 python 庫建議使用這個 virtualenv 和 anaconda。我什至可以找到 pyenv 的 virtualenv 插件。
現在我對這兩個 pyenv 和 virtualenv 的目的感到困惑。 更糟糕的是,在 pyenv 中有一個 virtualenv 插件。
我的問題是:
非常感謝您的示例解釋。
編輯:這里也值得一提pip
,因為conda
和pip
有與此主題相關的異同。
pip:Python 包管理器。
pip
相當於 python 的 ruby gem
命令pip
。brew install python
sudo easy_install pip
gemfile
pip freeze > requirements.txt
pyenv:Python 版本管理器
pyenv
可以讓您輕松管理。virtualenv:Python 環境管理器。
virtualenv
,只需調用virtualenv ENV
,其中ENV
是放置新虛擬環境的目錄。virtualenv
,您需要source ENV/bin/activate
。 要停止使用,只需調用deactivate
。virtualenv
,您可以通過針對項目的requirements.txt
文件運行pip install -r
工作區的所有包要求。Anaconda:包管理器 + 環境管理器 + 附加科學庫。
conda install <packagename>
可提供 620 多個包miniconda
版本,雖然我個人沒有使用它的經驗,但它似乎比使用pip
+ virtualenv
更簡單。conda
允許您安裝軟件包,但這些軟件包與 PyPI 軟件包是分開的,因此您可能仍需要額外使用 pip,具體取決於您需要安裝的軟件包類型。另見:
簡單的比喻:
由於我使用 python3,我更喜歡名為venv的 python3 內置虛擬環境。 venv簡單易用。 我建議你閱讀它的官方文檔。 該文檔簡短明了。
在 ruby 中,我們並不真正需要虛擬環境,因為捆綁器會處理它。 virtual env 和 bundler 都很棒,但是,它們有不同的解決方案來解決相同的問題。
簡單解釋: https://docs.conda.io/projects/conda/en/latest/commands.html#conda-vs-pip-vs-virtualenv-commands
如果您過去使用過 pip和virtualenv ,則可以使用conda執行所有相同的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.