如何随安装的软件包一起升级Python?

如何随安装的软件包一起升级Python?,python,package,setuptools,distutils,distutils2,Python,Package,Setuptools,Distutils,Distutils2,如果我使用Python 2.6安装了几个软件包(例如使用easy\u install),然后我想升级到Python 2.7,有没有办法升级Python,然后自动“导入”所有已安装的软件包?还是必须重新安装 两个相关的问题:(1)如果一个包安装在Python2.6包目录中,那么将其导入到较新Python(如Python2.7)的PYTHONPATH中是否合法,还是必须使用Python2.7重新安装所有包?(2) 如果我使用easy\u install,我如何告诉它使用较新的Python?例如2.7

如果我使用Python 2.6安装了几个软件包(例如使用
easy\u install
),然后我想升级到Python 2.7,有没有办法升级Python,然后自动“导入”所有已安装的软件包?还是必须重新安装


两个相关的问题:(1)如果一个包安装在Python2.6包目录中,那么将其导入到较新Python(如Python2.7)的
PYTHONPATH
中是否合法,还是必须使用Python2.7重新安装所有包?(2) 如果我使用
easy\u install
,我如何告诉它使用较新的Python?例如2.7而不是2.6?或者我应该使用Python 2.7重新安装
easy\u install
?谢谢。

首先,这是您希望使用而不是
easy\u install
的众多原因之一。(您仍然需要
easy_install
来获取
pip
本身,但除此之外,请不要再触摸它。)如果您使用了
pip
,您可以这样做:

pip freeze > modules.dump
这将为您提供已安装的所有模块及其版本号的列表。大多数情况下,您只需获取模块列表(
line.split('==')[0]用于f中的line
)并将其传递给
pip install

但这是为了将来的参考。今天,您必须通过查看
网站包
目录来将其拼凑起来。幸运的是,很多事情最终都会变成
foo_-bar-1.2.3.4-blah-blah.egg
,所以你所要做的就是猜测这个包在PyPI的名称是
foo-bar
还是
foo-bar
,通常即使你猜错了,
easy_-install
pip
也会得到正确的结果。所以,你不能完全自动化它,但你可以接近它

但是是的,不管你怎么做,你都需要重新安装。任何需要C扩展代码的东西都必须重新编译。纯Python包可能不需要更改,但它们可能需要更改,而且您比抱歉更安全。此外,如果你试图复制一些东西,而不是复制其他东西,你会把依赖关系搞得一团糟

(1) 如果一个包安装在Python2.6包目录中,那么将其导入到较新Python(如Python2.7)的PYTHONPATH中是否合法,或者必须使用Python2.7重新安装所有包

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

(2) 如果我使用easy_install,我如何告诉它使用较新的Python?例如2.7而不是2.6?或者我应该使用Python 2.7重新安装easy_install来完成这项工作吗?谢谢

您需要2.7
轻松安装
。您通常可以通过运行2.6来使用2.7
easy\u安装,例如
python2.6$(哪个easy\u安装)
,但另一种方法不能保证有效


你无论如何也不想这么做。如果你想要两个版本的Python并行,你需要两个版本的代码< EasyJuthUng/<代码> -通常你想要结束< <代码> EasyIuth-2.6和 EasyIuth-2.7,以<代码> EasyJuthUng/<代码>作为你认为你的“Python”Python的一个链接。

欢迎来到1500个俱乐部!现在可以创建新标记。偶然地使用“自动完成”选择器时,请确保使用tab/enter/click指向所需的标记。否则,就会出现打字错误。