如果我安装新的Python版本,我是否应该重新安装每个模块?

时间:2017-04-21 15:02:45

标签: python macos python-module

我刚安装了Python 3.6并运行终端,尝试import我在3.5中安装的任何模块(rsa,matplotlib,enchant,...)并返回:

ModuleNotFoundError: No module named 'module_name'  

但是,当我运行Python 3.5时,它们仍然可以工作。我该怎么办?

2 个答案:

答案 0 :(得分:3)

如果您安装了不同的Python版本,您将拥有您已为旧版本安装的模块。

您安装的每个Python版本都有自己的工作目录和自己的模块。通常,为特定版本的Python安装的模块不能被其他版本(旧版本或更新版本)使用。这是因为Python模块通常需要预编译文件和特定于版本的功能才能在某个版本的Python上运行。例如,你不能在Python 3.6上使用Python 2.7的模块,因为很多东西从版本2变为3。

这意味着您必须再次在新版本的Python上重新安装所需的任何模块,这可以轻松完成using PIP运行pythonX.Y,其中X.Y是版本号,如下所示:

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.6 -m pip install SomePackage  # specifically Python 3.6

另请注意,复制旧的site-package文件夹与重新安装模块相同,不应该这样做。

答案 1 :(得分:0)

在终端或cmd类型中

pip install module_name