如何在Python 3.7中使用已安装在Python 3.5上的Python包?

11 浏览
0 Comments

如何在Python 3.7中使用已安装在Python 3.5上的Python包?

我最近升级了我的Linux发行版。Python 3.5被Python 3.6所取代。

我用pip3安装的所有站点包仍然在/usr/lib/python3.5/site-packages目录中,现在Python无法在那里找到它们,因为它显然是在.../python3.6/site-packages中查找。

我看到了目录内容,我可以手动重新安装它们,但这对我来说似乎不是正确的方法。我可以将内容移动到新目录,但这似乎也是不正确的。

我应该如何正确处理它?

我在升级之前是否应该准备一个pip3 freeze的列表?

我尝试搜索,但关键词可能太一般了,得到了许多无关的答案。

0
0 Comments

升级Python版本时,如果没有提前运行pip freeze命令来获取已安装的包列表,则可能会导致无法使用先前安装在旧版本Python上的包。解决方法是指定旧的site-packages/目录作为--path选项,这个目录不会被删除。具体操作如下:

1. 运行以下命令来获取旧版本Python上已安装的包列表,并将其保存到python3.6_requirements.txt文件中:

pip3 freeze --path /usr/local/lib/python3.6/site-packages/ > python3.6_requirements.txt

2. 运行以下命令来使用python3.6_requirements.txt文件中的包列表安装这些包:

pip3 install -r python3.6_requirements.txt

这样就可以在新版本的Python中使用先前安装的包了。

0
0 Comments

Python 3.5被Python 3.6所取代。但是你仍然有使用Python 3.5的备选方案。

如果你想使用Python 3.6,你将不得不重新安装所有pip包到Python 3.6中,这是有道理的。

假设你从2.7切换到3.5,你会想要分别保留这两个环境。因此,3.6的环境与3.5是不同的。

一个快速的方法是,先在Python 3.5中使用pip freeze命令,然后为Python 3.6安装这些依赖包。

pip freeze > reqs.txt

升级

pip install -r reqs.txt

由于你不再有这个选项,首先尝试列出Python 3.5中的所有包。

为此,你可以像上面回答的那样安装pip3.5。

sudo apt-get install python3=3.5.1*
sudo python3.5 easy_install.py pip

此外,建议为每个项目使用虚拟环境,这样你就可以为每个项目维护独立的环境。

正如我所看到的,定期运行pip freeze(保存输出)作为一个cron作业不是一个坏主意。幸运的是,手动重新安装它并不是那么麻烦。

0
0 Comments

问题的原因是用户想知道如何在Python 3.7中使用在Python 3.5上安装的Python包。文章提供了解决此问题的几种方法。

首先,文章提到了使用`pip freeze`命令将已安装的包导出到`requirements.txt`文件中的方法。然后,可以使用`pip install -r requirements.txt`命令在新的Python 3.7环境中安装这些包。

其次,文章提到了使用`virtualenv`来管理包的推荐方法。它建议在虚拟环境中安装包,以避免污染系统的安装区域。但是,如果用户不想重新安装所有包,可以尝试将Python 3.5的包复制到Python 3.7的安装目录中,并使用`sed`命令更新文件中的版本信息。然而,需要注意的是,如果采用这种方法,需要删除所有的`.pyc`文件。

文章还提到了另一种解决方法,即检查Linux发行版是否有可用的软件包,并使用`sudo apt-get install python3-`命令进行正确检索和安装。

最后,文章提到了在Linux上安装Python 3.5和pip 3.5,并使用`pip freeze`命令导出包列表的方法。如果没有可用的软件包,可以手动安装(例如`.whl`文件)或编译一个独立的包,并正确配置路径。这种方法可能是最安全的选择,无论是保持全局包目录还是迁移到虚拟环境。

总结起来,文章提供了几种解决在Python 3.7中使用Python 3.5安装的包的方法。这些方法包括使用`pip freeze`导出包列表并重新安装,复制Python 3.5的包到Python 3.7的安装目录中并更新版本信息,检索和安装Linux发行版的软件包,以及安装Python 3.5和pip 3.5并导出包列表。

0