python requirements文件生成与使用
在写python程序的时候,我们经常的会下载很多的模块,当我们编写完成后,准备在其他设备上部署的时候,那么新设备上需要安装我当前环境下的所有包,如果一个个找显然是挖坑埋自己,于是乎我们可以通过pip生成一个requirements.txt的文件,在新环境中通过读取这个文件中的模块名称进行安装环境。
安装 pipreqs
pip install pipreqs
导出项目所需依赖:
#在项目的根目录下使用 执行: pipreqs ./ #如果是Windows系统,会报编码错误 (UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 24: illegal multibyte sequence) #使用时,指定编码格式: pipreqs ./ --encoding=utf8
导出python安装的所有依赖:
生成 requirementts.txt:
执行 pip freeze > requirements.txt
#安装: pip install -r requriements.txt
生成requirements.txt
(venv) [root@9aa3b82f4987 my_test]# pip freeze > requirements.txt You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
查看生成requirements.txt的内容
(venv) [root@9aa3b82f4987 my_test]# cat requirements.txt alembic==0.9.9 blinker==1.4 click==6.7 dominate==2.3.1 Flask==0.12.2 Flask-Bootstrap==3.3.7.1 Flask-Mail==0.9.1 Flask-Migrate==2.1.1 Flask-Moment==0.6.0 Flask-Script==2.0.6 Flask-SQLAlchemy==2.3.2 itsdangerous==0.24 Jinja2==2.10 Mako==1.0.7 MarkupSafe==1.0 mysql==0.0.1 MySQL-python==1.2.5 python-dateutil==2.7.2 python-editor==1.0.3 six==1.11.0 SQLAlchemy==1.2.4 visitor==0.1.3 Werkzeug==0.14.1
在新环境中通过此文件可以直接安装环境
(venv) [root@9aa3b82f4987 my_test2]# cp ../my_test/requirements.txt ./ #拷贝一下my_test环境中的requirements.txt (venv) [root@9aa3b82f4987 my_test2]# ls requirements.txt venv (venv) [root@9aa3b82f4987 my_test2]# pip install -r requirements.txt #开始安装 Collecting alembic==0.9.9 (from -r requirements.txt (line 1)) Collecting blinker==1.4 (from -r requirements.txt (line 2)) Collecting click==6.7 (from -r requirements.txt (line 3)) Using cached click-6.7-py2.py3-none-any.whl Collecting dominate==2.3.1 (from -r requirements.txt (line 4)) Collecting Flask==0.12.2 (from -r requirements.txt (line 5)) Using cached Flask-0.12.2-py2.py3-none-any.whl ...
安装完成后,新环境中就可以运行你的代码咯