Linux上的Python版本

时间:2017-03-16 15:48:59

标签: python linux linuxmint

昨天我重新安装了我正在面对的类似问题的Linux Mint二人组。 我安装了Python 3.6:

apt-get install build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/src
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar xzf Python-3.6.0.tgz
cd Python-3.6.0
./configure
make altinstall
python3.6 -V

然后,默认情况下Linux上有Python 2.7.12,我可以看到:

python -V
Python 2.7.12

当我检查时:

python3 -V

我的输出是:

Python 3.5.2

然而:

python3.6 -V
Python 3.6.0

我也下载并安装了Pycharm,但问题是,Project Interpreter无法找到Python 3.6,我也无法以任何方式手动添加Python 3.6。

我注意到PyCharm中的其他Python版本PATH看起来像:

/usr/bin/python2.7
/usr/bin/python3.5

但我无法在那里找到任何Python 3.6。

还有一件事 - 当我检查时:

/usr/local/lib/python3.5/dist-packages

它是我在那里找到的唯一文件夹,它是空的,但当我尝试用pip做某事时,它会自动保存在那里。

然而:

/usr/local/lib/python3.6

不包含此类文件夹。我记得,它是安装所有模块的文件夹。

1)Python 3.6是否正确安装,如果没有,如何解决?

2)如何安装Python 3.5.2并应该删除它?

3)如何使PyCharm在Python 3.6上运行

4)Python 3.5将导致安装模块的问题,我在重新安装Linux之前遇到了同样的问题。这里有什么问题?

1 个答案:

答案 0 :(得分:1)

命令的输出是什么: $ update-alternatives --list python3

在你的系统上?

看起来像是:

/usr/bin/python3.5

/usr/bin/python3.6

如果是这样,您可以使用命令:

$ sudo update-alternatives --config python3

选择要运行的python3版本。但是,请注意,您安装的某些软件可能依赖于版本3.5,更改默认的python3可能会产生副作用。您应该能够更新为python3.6作为默认值,然后安装所需的软件包,并在需要时切换回默认值为3.5。

但是,您将不断更换默认设置,迟早您可能会忘记并遇到某种版本冲突。

根据您对python3.6的特定需求,您可以仅在需要时有选择地使用它。

以下是一些例子......

1)在命令行工作时,用' python3.6'开始你的python会话。而不是' python3'你将使用3.6而不是3.5。

2)编写python可执行文件时,请使用shebang line'#! /usr/bin/python3.6'而不是#!#!的/ usr /斌/ python3'确保您使用的是python 3.6

3)在命令行运行python文件时使用

' python3.6 file_name.py'

' python3.5 file_name.py'

根据需要调用你需要的特定版本的python。

这些都很麻烦,但相对安全。您只需在需要时使用3.6。

保持系统安全,支持多个版本的python,而不是破坏3.5版本的任何系统依赖性的最佳方法是了解虚拟环境。这些是使用自己指定版本的python的环境,以及它们环境的特定包。

虚拟环境起初有点复杂,但是一旦掌握了它们,最好有几个单独的项目,每个项目都有一些不同的依赖项,所有项目都在自己的脚印中,而不是相互踩踏。

以下是一些教程:

http://docs.python-guide.org/en/latest/dev/virtualenvs/

https://realpython.com/python-virtual-environments-a-primer/

https://docs.python.org/3/tutorial/venv.html

youtube上也有很多教程。

祝你好运,编码愉快!