gpt4 book ai didi

python - 如何将 Python 与已安装的软件包一起升级?

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:07 26 4
gpt4 key购买 nike

如果我用 Python 2.6 安装了几个包(例如使用 easy_install)然后我想升级到 Python 2.7,有没有办法升级 Python 然后自动“导入”所有这些已安装的包和它一起?还是必须重新安装?

两个相关问题:(1) 如果一个包安装在 Python 2.6 的包目录中,将它导入到较新的 Python(如 Python 2.7)的 PYTHONPATH 中是否合法,或者必须全部导入这些包可以用 Python 2.7 重新安装吗? (2) 如果我使用 easy_install,我如何告诉它使用较新的 Python?例如。 2.7 而不是 2.6?还是我应该使用 Python 2.7 重新安装 easy_install 来执行此操作?谢谢。

最佳答案

首先,这是您要使用 pip 的众多原因之一而不是 easy_install . (你仍然需要 easy_install 来获得 pip 本身,但除此之外,不要再碰它。)如果你使用了 pip ,你可以这样做:

pip freeze > modules.dump

这会为您提供已安装的所有模块及其版本号的列表。大多数时候,您可以只获取模块列表(line.split('==')[0] for line in f)并将其传递给pip install。 .

但那是为了将来引用。今天,您必须通过查看 site-packages 自己拼凑起来目录。幸运的是,很多事情最终会变成foo_bar-1.2.3.4-blah-blah.egg。 , 所以你所要做的就是猜测包是否命名为 foo-barfoo_bar在 PyPI,通常即使你猜错了,easy_installpip无论如何都会得到正确的东西。因此,您不能完全使其自动化,但您可以接近。

但是,是的,无论您如何操作,都需要重新安装。任何需要 C 扩展代码的东西都必须重新编译。纯 Python 包可能不需要更改,但它们可能需要更改,安全总比后悔好。此外,如果您尝试复制一些东西而不是其他东西,您将会把您的依赖关系搞得一团糟。

(1) if a package is installed in a Python 2.6 packages directory, is it legitimate to import it into the PYTHONPATH of a newer Python, like Python 2.7, or must all the packages be reinstalled with Python 2.7?

不要那样做;如上所述重新安装它们。

(2) if I use easy_install, how can I tell it to use the newer Python? E.g. 2.7 instead of 2.6? Or should I just reinstall easy_install using Python 2.7 to do this? thanks.

您需要 2.7 easy_install .您通常可以使用 2.7 easy_install通过运行 2.6,例如 python2.6 $(which easy_install) ,但反之亦然。

无论如何你都不想那样做。如果你想同时使用两个版本的 Python,你需要两个版本的 easy_install ——通常你想以 easy_install-2.6 结尾和 easy_install-2.7 , 与 easy_install作为您认为是“主要”python 的任何一个的符号链接(symbolic link)。

关于python - 如何将 Python 与已安装的软件包一起升级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com