【问题标题】:What's the best way to install two versions of python安装两个版本的python的最佳方法是什么
【发布时间】:2016-10-20 02:45:52
【问题描述】:

我想要一个简单干净的安装,以防将来需要卸载。

我在我的 mac 上运行 Sierra,目前我有一个 Anaconda 2.4(使用 python 2.7),现在我也需要使用 python 3.5。我看了很多答案,如果必要的话,这个过程似乎有点棘手。

如果可能,请同时发布卸载过程。谢谢。

【问题讨论】:

  • 你试过用virtualenv吗?
  • 我目前正在使用此选项,但在设置方面遇到了一些问题。我调用 python 和终端只调用 3.5.1 或系统,即使我在 pyenv 全局中更改。这一定与 bash_profile 配置错误有关。

标签: python-2.7 python-3.x installation homebrew anaconda


【解决方案1】:

不要让冗长的答案吓到你,这个过程可以恢复到 6 行(真的),但我试着写下我正在寻找的答案。

最适合我的选项是virtualenv

安装

最简单的方法是使用brew:

brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper

要查看python版本列表,我们可以使用以下命令:

pyenv install -l

由于我对3.5.1感兴趣,我可以使用相同的命令轻松安装

pyenv install 3.5.1

设置

安装后,我们可以使用检查结果

$ pyenv versions
 * system
  3.5.1 (set by /Users/macbookpro/.pyenv/version)

此命令列出所有安装的版本,并表明我当前使用的是系统的版本。

在我们更改为 3.5.1 版本之前,我们需要将 pyenv 路径添加到 .bash_profile。

在文件 .bash_profile 中:

添加以下行。请注意 PATH 变量是否与您的情况相同。

#added for pyenv
export PATH="/Users/macbookpro/.pyenv:$PATH"
eval "$(pyenv init -)"
eval "(pyenv virtualenv-init -)"

现在我们已经设置好了一切,让我们测试一下

首先,我们检查当前使用的是哪个版本:

$ pyenv versions
* system
  3.5.1 (set by /Users/macbookpro/.pyenv/version)

好的,现在我们知道我们必须更改为 3.5.1。我们可以这样做:

$ pyenv global 3.5.1
$ python

Python 3.5.1 (default, Oct 20 2016, 21:43:48) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

我们还验证了这确实有效。我们现在也测试系统版本。

$ pyenv global system
$ pyenv versions
* system (set by /Users/macbookpro/.pyenv/version)
  3.5.1

$ python
Python 2.7.12 (default, Sep  5 2016, 20:55:16) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

一切正常。

卸载

简单地说:

$ rm -fr ~/.pyenv

并删除我们在设置中添加的所有 .bash_profile 内容。

附加功能

对于 Anaconda 人来说。

在 jupyter 中:

   In [1]: import sys
           sys.version
   Out [1]: '2.7.12 |Anaconda 4.1.1 (x86_64)| (default, Jul  2 2016, 17:43:17) \n[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)]'

没有任何改变。

【讨论】:

    【解决方案2】:

    最好的方法是使用virtualenv。它允许您在同一台机器上保留不同工作版本的python,而不会相互干扰。

    编辑:

    这些是有关如何在 Mac OS 上安装 virtualenv 的说明。

    在您的系统上安装最新的 python 版本:

    brew install python(或python3)

    然后使用pip:

    pip install virtualenv
    

    然后在您的主目录中编辑.bashrc 文件。如果它不存在,请创建它。将此行添加到.bashrc 文件中:

    export PIP_REQUIRE_VIRTUALENV=true
    

    上面的行将使pip 只在虚拟环境中运行。

    应用更改:

    。 .bashrc(如果您在主目录中,请注意.bashrc 文件之前的点和空格)。

    现在您应该可以使用virtualenv

    如果您在项目文件夹中:

    virtualenv some_venv
    

    然后激活它:

    . ./some_venv/bin/activate (note the dot).
    

    然后您可以使用pip 安装所需的一切。所有的包都会放到some_venv目录下。

    您想停用virtualenv,然后运行deactivate

    如果你想在virutalenv下删除所有已安装的包,那么只需删除some_venv。就是这样。

    关于pyenv。老实说,我从未使用过它。但是在项目的github 页面上有一个易于学习的教程。

    希望对你有帮助。

    【讨论】:

    • 是的,同意 pyenv 看起来最好,请使用 Install > Setup and Uninstall 发布完整答案,以便我标记为正确。
    • 我不是 100% 确定,但我认为:python 已经预先安装,pip 没有,mac 也使用 bash_profile 而不是 bashrc。我认为这也是一个很好的方法供将来参考
    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2015-08-08
    • 1970-01-01
    相关资源
    最近更新 更多