2012-08-28 50 views
4

我已经重新安装了我的操作系统(从Windows XP移至Windows 7)。 我重新安装了Python 2.7。将Python环境移至新的操作系统安装

但我在旧环境中安装了很多软件包。 (Django,sciPy,jinja2,matplotlib,numpy,networkx,仅仅是一个视图)

我还有我的老Python安装在数据分区上,所以我想知道我是否可以复制粘贴旧Python库文件夹添加到新的安装? 或者我需要重新安装每个软件包?

包是否保留了注册表,系统变量或类似信息?

它取决于包装?

+5

这是使用[virtualenv](http://www.virtualenv.org/en/latest/index.html) –

+2

的好主意之一的原因虽然我看到virtualenv在*上的不同环境中的用处, *相同的**操作系统。但我看不到virtualenv如何帮助从一个操作系统移动到另一个操作系统?问题仍然存在,如果我可以复制粘贴任何(虚拟)Python环境? – Scrontch

+0

IIRC MS为XP - > Vista提供了“迁移”工具。最后我听说,XP - > Win7没有“迁移路径”。希望我错了。 –

回答

1

简短的回答这个问题是“不”,因为包可以安装上执行任意代码,做任何他们想要的任何地方,他们希望在系统上的挫折感。

只需重新安装所有这些。

2

这就是你必须能够布局你的项目,因此有特殊的工具。

通常情况下,Python软件包不会像处理注册表(除非它们通过MSI安装程序打包)那样执行如此奇怪的操作。这些问题可能从包含C扩展的软件包开始,因此迁移到其他版本的操作系统或从32位到64位体系结构将需要重新编译/重新构建这些操作系统。所以,如下所述,将所有软件包重新安装到新系统会更好。

你的要求可能会有所不同,但你一定要选择建立你的环境的方式。如果您没有并计划拥有各种各样的项目,则可以考虑如下的第一种方法,第二种方法更可能为不同项目或同一项目的不同版本设置开发环境。

  1. 全球环境(Python安装在系统中安装软件包)。

    在这里你可以考虑使用pip。在这种情况下,您的项目可以有requirements文件,其中包含项目所需的所有软件包。基本上,需求文件是一个包含软件包名称的文本文件(在PyPI及其版本上)。

  2. 隔离环境。可以使用特殊工具或专门组织的路径来实现。

    在这里,点可以优雅地与virtualenv合并。许多开发人员强烈推荐这种方式(我必须提醒的是即将发布的Python 3.3包含virtualenv作为标准库的一部分)。这种方法假定使用自己的Python解释器实例和已安装的包来创建虚拟外壳。

    实现隔离环境的另一个流行工具称为buildout。它将你的项目源文件和依赖项放在一个路径中,以便达到与virtualenv创建的效果相同的效果。建立在构建可插拔配方(实现不同常见项目部署任务的代码片断)的基础上的最大优势在于,互联网上有数百种稳定可靠的配方。

    virtualenv和buildout都可以帮助您在安装依赖关系时消除头疼,并解决单个机器上保存的同一软件包的不同版本的问题。

选择你的命运......

相关问题