Django - 导出项目依赖库到 requirements.txt
两种方法:
虚拟环境:
使用 pip freeze
pip freeze > requirements.txt
# 这种方式推荐配合 virtualenv ,否则会把整个环境中的包都列出来。
只扫描项目目录
使用 pipreqs
这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。缺点是可能会有些偏差,需要检查并自己调整下。
# 首先安装 pipreqs
# pip install pipreqs # 安装位置在pip所在的目录下 # 使用方式也比较简单 pipreqs /var/www/project INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Starting new HTTPS connection (1): pypi.python.org INFO: Successfully saved requirements file in ./requirements.txt cat requirements.txt Django == 1.6 django_redis == 4.3.0 redis == 2.10.5 django_redis_cache == 1.6.5 simplejson == 3.8.2 Twisted == 16.0.0 pycrypto == 2.6.1 ConcurrentLogHandler == 0.9.1 cx_Oracle == 5.2.1 ujson == 1.35
用法:
# pip install -r /var/www/project/requriements.txt # 即可安装所有依赖
问题补充
在使用 pipreqs /var/www/project 时可能会遇见:
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 776: illegal multibyte sequence
解决方法为:
在后面指定编码格式 pipreqs /var/www/project --encoding=utf8
用法:pip install -r requriements.txt 即可安装所有依赖