Linux 上的 Python 版本

标签 python linux linux-mint

昨天我重新安装了我的 Linux Mint duo 我现在面临的类似问题。 我安装了 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) 如何让 PyC​​harm 在 Python 3.6 上运行

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

最佳答案

命令的输出是什么: $ 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”而不是“python3”启动 python session ,您将使用 3.6 而不是 3.5。

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

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

'python3.6 文件名.py'

'python3.5 文件名.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 上也有很多教程。

祝你好运,编码愉快!

关于Linux 上的 Python 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42838828/

相关文章:

c++ - Linux - 从不同位置编译 C++ 项目文件

c++ - Eclipse C++ OpenGL - 无法构建项目

angularjs - 为什么我的 ionic www 文件夹没有被 Git 跟踪?

linux - Linux Mint 上神秘的 find 命令占用内存

Ruby 2.3.8 在 mint 中使用 rbenv 安装错误 |不常见.mk :203: recipe for target 'build-ext' failed

python - 在 Elasticsearch 中的某些字段上禁用搜索

python - 如何在字符串中交替更改大写和小写?

python - 在 glade 中使用文件选择器对话框

python - Azure 函数 python 命名参数没有值

C++ 链接器错误,对应从共享对象引用的项的 undefined reference