我刚安装了Python 3.6并运行终端,尝试import
我在3.5中安装的任何模块(rsa,matplotlib,enchant,...)并返回:
ModuleNotFoundError: No module named 'module_name'
但是,当我运行Python 3.5时,它们仍然可以工作。我该怎么办?
答案 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)
pip install module_name