背景
在对Django项目进行移植时,由于生成项目的时候是将依赖和解释信息以绝对路径的方式写入配置文件的,
所以从一台电脑移植到另一台电脑,直接通过拷贝的方式是行不通的,正确的做法是将依赖模块写入requirements.txt文件中,
这样在别人使用我们的项目时,不需要再一个个去安装所需模块,只需安装依赖文件即可。
解决方法
使用 pip freeze
# 在项目根目录中,打开终端执行以下命令
# 生成 requirements.txt 文件
pip freeze > requirements.txt
pip install -r requirements.txt
该方法最好是在虚拟环境下进行的,否则会将整个环境中的包都列出来。
使用 pipreqs
有时候并不需要将整个虚拟环境所有依赖都导出,有可能有几十上百个模块,而本项目只依赖其中几个,那么这时仅导出本项目所依赖文件即可。
pip install pipreqs
pipreqs /var/www/project --encoding=utf8 #项目目录
pip install -r requirements.txt