如何在Ubuntu16.04中管理多个python?

时间:2016-11-01 04:15:18

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

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

例如,在目录/ usr / bin中,我发现了许多像这样的软链接: enter image description here

当我尝试'python'cmd时,它只会让我困惑! enter image description here

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

所以我知道它是由环境变量引起的。我回复$ 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 /游戏:在/ usr /本地/游戏中:/ opt /蚂蚁/斌:/卡/箱:的/ opt /行家/ bin中:/ usr / lib中/ JVM / JAVA -8-预言/ bin中

我使用update-alternative --config python来配置默认的python,但它不起作用!它同样相互混合。 enter image description here

现在我只想在本地python3中安装tensorflow 0.11,因为在anaconda中它默认为0.10版本。那么我怎么能改变这个呢。我只想使用python python3和python3m分别代表python2.7 python3.5和anaconda python,我该怎么办呢!分别使用pip和pip3表示本地python2和python3!

3 个答案:

答案 0 :(得分:0)

在设置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。

答案 1 :(得分:0)

跟进使用virtualenv和virtualenvwrapper提及的评论。

以下是官方文档和一篇关于开始使用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

答案 2 :(得分:0)

which命令对于查找路径中第一个可执行文件的路径非常有用。 Zsh还具有where命令,该命令将显示路径中显示的给定可执行文件的所有实例。为了管理不同的python版本,您有很多选择。对于大多数人来说,最简单的往往是使用conda环境的anaconda。安装程序将要求您在.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,但我不记得它是否在默认通道中。