首页 文章

Linux上的Python版本

提问于
浏览
0

昨天我重新安装了我的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 回答

  • 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'而不是'python3'启动你的python会话,你将使用3.6而不是3.5 .

    2)编写python可执行文件时,请使用shebang行'#! /usr/bin/python3.6'而不是'#! / usr / bin / 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上也有很多教程 .

    祝你好运,编码愉快!

相关问题