【问题标题】:Using two different Python Distributions使用两个不同的 Python 发行版
【发布时间】:2013-12-20 07:26:18
【问题描述】:

我目前已在我的计算机上下载并使用了 continuum analytics 的 Python 发行版(称为 anaconda)。我的问题是我想将 virtualenv 用于烧瓶项目,而 anaconda 会闪烁警告说“不支持虚拟环境”。有什么办法可以在同一台计算机上运行两个发行版,股票 python 和 anaconda?

【问题讨论】:

  • 不推荐使用 virtualenv 的原因是 conda 环境要好得多。 conda create -n envname flask.

标签: python software-distribution anaconda


【解决方案1】:

使用像pyenv 这样的版本管理器怎么样?

安装后,您可以使用它来安装多个python版本:

pyenv install 2.7.16
pyenv install anaconda-1.8.0

然后在本地或全局切换到特定版本:

pyenv global 2.7.16

blog 提供了有关此方法的更多详细信息。

【讨论】:

    【解决方案2】:

    我猜蟒蛇是一样的。包有什么不同。

    我使用 anaconda 的根库。我创建ANACONDA=/path/to/anaconda 环境变量并在定义变量时使用anaconda 包:

    # if You want to run the script in anaconda - export ANACONDA=/path/to/anaconda
    import os
    try:
        os.environ["ANACONDA"]
        sys.path.insert(1, os.environ["ANACONDA"] + "/lib/python2.7/site-packages")
    except KeyError:
        pass
    

    【讨论】:

      【解决方案3】:

      当然,如果您想单独使用 Anaconda 发行版,您可以设置一个别名来运行该版本,并将常用的 python 保留为默认值。

      在您的.bash_profile 文件中,Anaconda 安装程序可能会放入以下行:

      export PATH="/path/to/your/anaconda/bin:$PATH"
      

      注释掉这个,并添加一个别名;例如

      alias pyconda='/path/to/your/anaconda/bin/python'
      

      然后,您可以通过在新终端中运行 pyconda 来运行您的 Anaconda python 发行版。

      更新

      实际上,当您想使用 anaconda 安装中的所有内容而不是仅使用 python 时,将其放入您的路径可能会更好(这就是您的 ipython 最初损坏的原因)。

      为此,请设置一个别名,如下所示:

      alias anacondainit='export PATH="/path/to/your/anaconda/bin:$PATH"'
      

      然后,您的 anaconda 安装将成为该终端会话中所有内容的默认设置。

      例如,打开一个新终端后,尝试以下操作:

      amorgan$ python # on a freshly opened terminal, this will load your default distro
      Python 2.7.2 |EPD 7.2-1 (32-bit)| (default, Sep  7 2011, 09:16:50)
      [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
      Type "packages", "demo" or "enthought" for more information.
      >>> exit()
      
      amorgan$ anacondainit #initialize anaconda
      amorgan$ python #now when we run python, it will load the anaconda distro
      Python 2.7.6 |Anaconda 1.8.0 (x86_64)| (default, Nov 11 2013, 10:49:09)
      [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
      

      要再次使用您的其他发行版,只需加载一个新终端,从而将 anaconda 排除在您的路径之外。

      【讨论】:

      • 我实际上还有一个问题:当我 pip install 某些东西时,我如何知道它要去哪个发行版以及如何强制它去哪个发行版??
      • 我相信 pip 默认会在系统范围内安装,除非您指定要安装软件包的位置。但是,您只能使用 conda 命令在您的 Anaconda 发行版中安装一些东西;例如,conda install flask 将在 Anaconda 发行版中安装烧瓶模块,conda update flask 将更新它。
      • 关于 ipython,一种选择是设置另一个别名 (alias ipyconda='/path/to/your/anaconda/bin/ipython'),但经过反思,如果您想使用它,最好将 anaconda 中的所有内容添加到您的路径中。我已经更新了上面的答案以反映如何做到这一点。
      • 我无法使用股票分发 - 我输入 anacondainit 并打开一个新终端,但没有任何反应。我只是得到一个无休止的提示
      • 我不太清楚你的意思,但我添加了一个示例,希望能澄清一些事情。
      猜你喜欢
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多