如何更改我的PYTHONPATH以使3,2成为默认的Python,而不是2.7.2?


16

我在中有python3.2 /usr/lib/python3.2。我不确定这是否已安装,但我认为现在已经安装了。

关于我的系统的一些事实:

$ which python
/usr/local/bin/python

当我输入python终端时,我得到以下内容

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

然后找到我要做的道路

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

因此,了解了所有这些信息后,如何将默认系统python从2.7.2更改为3.2?

Answers:


28

更改默认的python不好。许多系统程序都依赖python2而不是python3。如果要使用python3,只需键入命令python3


4
对于支持库和工具(例如pyenv,fabric),它们期望/usr/bin/env python是您想要的。因此,手动键入python3不是解决方案。
埃里克·米尔

9

PYTHONPATH与它无关。它只是告诉Python解释器(无论运行哪个解释器)在哪里可以找到要加载的其他模块。

但是,正如其他评论者所观察到的那样,无论哪种方式,更改系统上的默认版本都是危险的。您冒着破坏针对Python2构建的现有软件包并使用/ usr / bin / env python查找其解释器的风险。

实际上,这是错误的表达方式。更改Python的默认版本会破坏整个Ubuntu系统,并导致许多程序无法正常工作。这也是完全不必要的。

但是,既然您问过了,就可以这样做:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

快崩溃了!


7

我将.bashrc其添加到我的,到目前为止工作正常:

alias python='python3'

1
只要您不从无法访问别名的脚本中调用python,它就可以工作。
HelloGoodbye



1

如果实际上已安装,则在python3.2中键入类型,而不只是python,它将加载该类型而不是默认类型。刚刚安装了python 3.2进行测试=)

如果实际上没有安装,请打开终端并输入sudo apt-get install python3.2来获取它

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.