2011-06-03 59 views
2

我在我的centos系统中安装了很多python模块插件和库。 现在我不想在不同的计算机上再次安装每个东西。如何备份已安装的python依赖或模块

有没有什么办法可以使包装像rpm或任何其他的事情,所以,当我在所有的模块,依赖也被安装了新的位置安装在与每次我安装新的东西,我可以更新安装包

回答

4

如果您使用pip(改进的easy_install)安装了软件包,则只​​需执行pip freeze > my-reqs.txt即可获取已安装软件包的列表和版本。还有一些使用reqs文件进行安装的选项,现在我不记得了。

Pip意思是伴侣virtualenv,它可以用来处理每个项目对相关软件包的要求。

+1

当其他工具安装包时,点也可能工作。 – peterhil 2011-06-03 06:55:48

+0

所以你的意思是它可以通过pip,easy install,rpm或者tar.gz获得所有安装的东西列表 – user2134226 2011-06-03 08:01:34

+0

显然,它会从shell环境变量$ PYTHONPATH中找到你可以在你的shell启动文件中设置的安装包 - 例如。 .bashrc为Bash或.zshrc或.zshenv为Zsh。 还有PYTHONSTARTUP env变量,您可以在其中设置Python特定的东西。 – peterhil 2011-06-03 08:15:18

0

如果您不使用皮普,那么你应该检查什么包,你必须在全局和/或用户site-packages目录。下面

的解决方案是从:
How do I find the location of my Python site-packages directory?

全球网站套餐:

python -m site 

或更简洁:

python -c "import site; print(site.getsitepackages())" 

用户网站套餐:

python -m site --user-site 

后者却没有显示出当前虚拟环境的站点包 - 使用distutils.sysconfig.get_python_lib()为:

python -c "from distutils.sysconfig import get_python_lib; 
print get_python_lib()" 

注意! 您不能只复制包含C++扩展名或其他编译的二进制文件的软件包。这些必须重新安装在其他机器上。