【问题标题】:How can I manage mutiple python in Ubuntu16.04?如何在 Ubuntu 16.04 上管理多个 python?
【发布时间】:2017-03-14 05:41:44
【问题描述】:

  在我的Ubuntu16.04中,默认有python 2和python 3。另外,我也安装了anaconda。我被'python' cmd 吸引了。每次我使用pip或者pip3安装,都不知道包安装在哪里,python2还是python 3?我使用 conda install 来安装 anaconda 包。我还使用 anaconda env 来管理不同的虚拟环境。但我认为它与我本地的 Python 2 和 3 混合在一起。

  例如,在目录/usr/bin中,我发现了很多这样的软链接:

   当我尝试'python' cmd时,它只是让我感到困惑!

   为什么python3m是本地的,不应该是anaconda吗?为什么python3是anaconda,不应该是本地的吗?然后我发现如果我使用./python2或./python3,我发现它现在是正确的!

  所以我知道是环境变量引起的。我回显 $PATH,发现它是这样的:/home/kinny/.pyenv/shims:/home/kinny/.pyenv/bin:/home/kinny/anaconda3/bin:/home/kinny/bin:/usr/local /sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/ant/bin:/snap/bin: /opt/maven/bin:/usr/lib/jvm/java-8-oracle/bin

   我已经使用update-alternative --config python来配置默认python,但是不起作用!它彼此混合。

   现在我只想在本地python3安装tensorflow 0.11,因为在anaconda默认是0.10版本。那么我该如何改变这一点。我只想用python python3和python3m分别代表python2.7、python3.5和anaconda python,怎么办!本地python2和python3分别使用pip和pip3!

【问题讨论】:

  • 您可以为不同的python版本创建虚拟环境。从你的描述中不确定你在这里做什么?
  • 我会说这是最干净的方式,无需记住任何内容。在您要编码的文件夹中创建一个虚拟环境。在创建它时使用您想要的特定解释器(在 cmd 中使用 which pythonwhich python3 找到它)。激活该环境并在其中安装软件包。每当您从事该项目时,请使用该环境。

标签: python python-2.7 python-3.x anaconda ubuntu-16.04


【解决方案1】:

在设置 PyCharm Edu 以与 Anaconda 一起使用时,我遇到了类似的问题。我发现我安装了多个版本的 Python,而且很难跟踪 IDE 引用的是哪个版本。我的 CS 教授给我的建议是简单地删除我不经常使用的 Python 版本。我现在只安装了 Anaconda;并使用 Anaconda Prompt 作为我的 Python 控制台。我还依赖 PyCharm 的 IPython 作为开发者控制台。但是,如果您仍然想要安装不同版本的 Python(比如您对旧设备进行 QA 测试);有一个非常有用的命令:which python。当进入 python 控制台或 Anaconda Prompt 时:which python 将显示与当前正在执行的 Python Shell 关联的目录。这使您能够更好地跟踪当前窗口所指的特定 python.exe。

【讨论】:

    【解决方案2】:

    跟进提到使用 virtualenv 和 virtualenvwrapper 的 cmets。

    这里是官方文档和一篇关于开始使用 virtualenv 的好博文:

    https://virtualenv.pypa.io/en/stable/installation/

    http://virtualenvwrapper.readthedocs.io/en/latest/install.html

    http://exponential.io/blog/2015/02/10/install-virtualenv-and-virtualenvwrapper-on-ubuntu/

    另外,一旦你设置好了,你就可以创建 virtualenv 来指定你想要使用的 python 安装。

    which python3
    

    返回

    /usr/bin/python3
    

    然后使用该 python 路径创建一个 virtualenv。其中example_env 是 virtualenv 的名称。

    mkvirtualenv -p /usr/bin/python3 example_env
    

    然后使用 virtualenvwrapper 激活 virtualenv。

    workon example_env
    

    最后用pip安装tensorflow等依赖。

    pip install tensorflow
    

    【讨论】:

      【解决方案3】:

      which 命令对于查找路径中第一个可执行文件的路径非常有用。 Zsh 也有 where 命令,它将显示给定可执行文件的所有实例,这些实例出现在你的路径中。对于管理不同的 python 版本,您有很多选择。对大多数人来说最简单的往往是 anaconda,使用 conda 环境。安装程序会要求您在.bashrc 文件中添加一些内容,这将使 anaconda 的二进制文件首先出现在您的路径中。在获得.bashrc 之后运行的任何其他东西都将首先使用它,包括 PyCharm。要使图形桌面应用程序接受更改,您可能需要注销并重新登录。如果您只需要 python 2 和 python 3 各一个版本,您可以使用通过apt 提供的版本。根据您的 Ubuntu 版本,默认情况下肯定会安装 Python 2,因为它被许多系统实用程序使用,包括 apt 本身。一些较新的版本也可能默认安装 python 3,但我不太记得了。另一种选择是将您需要的python版本安装在备用位置,例如/opt/python/<version>,然后使用environment-modules(通过apt install environment-modules安装)或Lmod来控制正在使用的版本,但这可能或与 PyCharm 等桌面应用程序一起使用可能并不容易/不方便。

      对于 TensorFlow,anaconda 中提供了 1.11,但我不记得它是否在默认通道中。

      【讨论】:

        猜你喜欢
        • 2018-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-08
        • 2017-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多