最近我在使用2之后安装了Python 3很长一段时间,因此我使用pip
安装了许多Python库。我已经开始使用符号链接python3
了,但还需要做些什么才能进行转换?
例如,虽然我已经创建了别名python=python3
,但我不知道我使用pip
安装的模块。我在Python 2中使用的是pip
版本,但这是否意味着模块是为Python 2而不是3编写的?我现在需要开始使用pip3
(或制作相应的别名pip=pip3
或pip=pip3.5
)吗?如果使用命令pip
安装模块,这是否意味着我必须使用pip3
为Python 3重新安装它们?如果我确实需要重新安装它们3,我应该从Python 2 env中删除它们作为清理吗?
另一个似乎可能需要做大量工作的问题是:我应该如何更改Python项目的所有虚拟环境?它们都是Python 2环境,现在我不确定是否有必要,有用或可能将其中的模块重新安装或升级到Python 3的相应模块。
很抱歉,如果这看起来像一个重复的问题 - 我搜索过,只找到有关“如何升级”的资源,而不是“升级后该做什么”。谢谢你的帮助!
答案 0 :(得分:2)
强烈建议not to symlink python
to Python 3,至少在基于Debian的Linux发行版上。 Debian实用程序脚本使用Python 3和2.7来工作(这意味着你已经在某处获得了Python 3的副本......),因此基于Debian的发行版同时发布了这两个版本。符号化会导致意外破损。然而,在其他系统上可能会或可能不会这样,但是如果有这种模糊性,可能不会尝试。
相反,请将符号链接python3
与Python 3一起使用。仅保留python
。
pip
通常符号链接到2.7的相应pip程序。使用pip3
指定您要使用Python 3的pip程序。如果使用pip
,您将发现Python 3的模块正在安装到Python 2.7站点目录中,并且没有任何内容可以按预期工作它来。应该没有理由不能将pip
符号链接到pip3
,但我仍然不推荐它 - 在这方面谨慎行事。
您无需更改当前的虚拟环境。只需使用virtualenv
创建新的,指向要使用的正确Python程序。这是虚拟环境的重点:沙箱不同的Python版本,因此它们都不会相互影响。
如果您有想要发布到Python 3的项目,我建议使用版本控制系统来备份当前文件,然后在为Python 3配置的新虚拟环境中重现它们。这很快,简单而无痛。