Dr *_*use 2 python ubuntu virtualenv python-2.7 python-3.5
我需要在我的Ubuntu 16.04.1 LTS上同时使用Python 2.7.12和python 3.5.2.Python 3已预先安装,所以我不知道它在目录路径方面的位置,而python 2就位于其中/usr/local/lib/python2.7/.
我发现很多关于SO和askubuntu的问题关于如何安装,但没有关于如何单独使用它们,安装不同的库,以及我应该避免或小心,如果我长期保持这个双python的东西?例如,我通常运行pip install来安装库,我可以检查它是否安装在我的python2目录中但是如何为我的python3安装相同的包而不会发生冲突?像:python3 pip install <package>?? 安装默认的python3在哪里?我如何调用python3的路径,其中蟒蛇不是例如命令的一部分:pip freeze,sudo-apt get等?
PS:我没有正式使用Virtualenv,但我被告知通常有利于在python语言版本中隔离项目,而不是将两种不同的语言版本相互隔离.
请告诉我.
谢谢
小智 6
这绝对没有问题,因为Python会为你做这件事.你根本不需要virtualenv.
如果您使用Ubuntu软件包,请确保使用python3-Python 3的python-版本和Python 2 的普通版本.
例如,python3-numpy和python-numpy.
如果您使用pip安装额外的软件包,您可以使用pip附加了版本号的脚本:pip2.7或者pip3.5,或者,我的首选方法,调用pip相应Python可执行文件的模块:
python2.7 -m pip install <whatever>
Run Code Online (Sandbox Code Playgroud)
和
python3.5 -m pip install <whatever>
Run Code Online (Sandbox Code Playgroud)
除此之外,应该没有任何问题:Python将包存储在完全独立的目录中,并且每个Python可执行文件仅使用其各自的指令.
千万不能反复折腾PYTHONPATH,除非你真的知道自己在做什么.这有PYTHONPATH使用Python 2.7模块设置目录然后使用Python 3.5运行的危险.
如果从头开始,可能需要先安装pip.
对于系统 Python,使用相关的包:
sudo apt install python-pip
sudo apt install python3-pip
Run Code Online (Sandbox Code Playgroud)
对于本地安装的Python,请使用内置的bootstrapper模块:
pythonx.y -m ensurepip
Run Code Online (Sandbox Code Playgroud)
关于OS安装的Python可执行文件的注意事项:
Python 3.5位于/usr/bin/python3.5,Python 2.7(OS一)/usr/bin/python2.7.您甚至可以在本地安装的旁边使用OS 2.7 /usr/local/bin/python2.7(并且因为您使用了错误的包而无法找到包时自己感到困惑).
或者在Python 3.5旁边安装Python 3.6(如果您已经使用过make altinstall,那么python3不会被覆盖).
这也是为什么你真的不想按原样运行pip(或者甚至pip2.7):可能会给你一个系统,而不是一个,取决于你的.pip2.7/usr/local/bin/pip2.7PATH
(这同样适用于该python2.7可执行文件,所以如果你需要指定的完整路径/usr/local/bin/python2.7来运行一个(或有一个别名),这同样适用pip2.7.如果,另一方面,/usr/local/bin是第一次在你的PATH,你应该在原则上绝不遇到同样的pip和python可执行文件.)
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |