如果我安装了新的Python语言,我应该重新安装每个模块吗?
我刚安装的Python 3.6和运行终端,试图import
任何我已经安装了3.5模块(RSA,matplotlib,附魔,...)和它返回:如果我安装了新的Python语言,我应该重新安装每个模块吗?
ModuleNotFoundError: No module named 'module_name'
然而,他们仍然可以工作当我运行Python 3.5。我该怎么办?
pip install module_name
请编辑您的答案,包括一些解释。仅有代码的答案对未来SO读者的教育很少。您的回答是在低质量的审核队列中。 – mickmackusa
如果你安装了,你会不会有你没有安装已为旧版本的模块不同的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
还要注意,复制旧的站点包文件夹不吨他和重装模块一样,不应该这样做。
点子工作得很好! –
可能是OP有用的解释“为什么”,值得注意的是,虽然有很多的纯Python源是正确_will_上两个版本的工作,也有二进制(C等)包含特定版本的编译代码模块(感觉免费盗取,并编辑它:D) –
@AnthonySottile你是对的,谢谢! –
不,他们不会自动发生,无论是重新安装或(复制粘贴站点包文件夹) - 别推荐这样做 – abccd