如何备份已安装的Python依赖或模块
我在我的CentOS系统上安装了很多Python模块、插件和库。现在我不想在不同的电脑上每次都重新安装这些东西。
有没有什么办法可以把这些打包成像rpm这样的文件,或者其他什么形式,这样当我在新地方安装的时候,所有的模块和依赖项也能一起安装?而且每次我安装新东西的时候,还可以更新这个安装包。
2 个回答
1
如果你没有使用Pip,那么你需要检查一下你在全局和/或用户的 site-packages
目录里有哪些包。
下面的解决方案来自于:
我怎么找到我的Python site-packages目录的位置?
全局的包:
python -m site
或者更简洁一点:
python -c "import site; print(site.getsitepackages())"
用户的包:
python -m site --user-site
不过,这些方法并不能显示当前虚拟环境的site-packages——要查看这个,你可以使用 distutils.sysconfig.get_python_lib()
。
python -c "from distutils.sysconfig import get_python_lib;
print get_python_lib()"
注意!
你不能仅仅把包含C++扩展或其他编译过的二进制文件的包直接复制到其他机器上。这些包必须在其他机器上重新安装。
10
如果你是通过 pip(一个比 easy_install 更好用的工具)来安装软件包的,你可以直接输入 pip freeze > my-reqs.txt
来获取你安装的软件包及其版本的列表。此外,还有一种方法可以通过这个列表文件来安装软件包:
pip install -r my-reqs.txt
Pip
是为了配合 virtualenv
使用的,后者可以帮助你管理每个项目所需的依赖包。