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 ...
安裝完成后,新環境中就可以運行你的代碼咯