Pythonプロジェクト生成requirements

2390 ワード

詳細は個人ブログ参照:Pythonプロジェクト生成requirements
一緒にプロジェクトを開発するときは環境と配置環境を構築しなければならないが、このときはPythonサードパーティパッケージのリストが必要で、一般的にはrequirements.txtと呼ばれている.requirements.txtを生成する方法を2つ紹介した.
一、pip freezeの使用
pip freeze > requirements.txt

このように配合してvirtualenvやっと使いやすくて、さもなくば全体の環境の中のかばんをすべて列挙しました.
以下は、仮想環境で生成されたrequirements.txtファイルの内容です.
cat requirements.txt
certifi==2019.3.9
chardet==3.0.4
fake-useragent==0.1.11
idna==2.7
lxml==4.2.5
numpy==1.16.3
pandas==0.22.0
python-dateutil==2.8.0
pytz==2019.1
requests==2.20.0
six==1.12.0
urllib3==1.24.3

二、pipreqsの使用
このツールは、プロジェクトディレクトリのスキャンにより、クラスライブラリが使用されていることを自動的に発見し、依存リストを自動的に生成します.このツールはimports、つまりあなたのプロジェクトがどのパッケージを導入したのか、このツールが導入したパッケージをrequirements.txtに書くのはpip freezeよりきれいです.このツールの欠点は、少しずれている可能性があるので、チェックして自分で調整する必要があります.
pipreqs ./

次のエラーが発生する可能性があります.
Traceback (most recent call last):
  File "c:\program files\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python36\Scripts\pipreqs.exe\__main__.py", line 9, in 
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 396, in main
    init(args)
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 341, in init
    extra_ignore_dirs=extra_ignore_dirs)
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 75, in get_all_imports
    contents = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 12: illegal multibyte sequence

これは符号化の問題によるもので、encodingパラメータを加えればよい.
pipreqs ./ --encoding=utf-8

次に生成されたrequirements.txtファイルの内容を見ます.
cat requirements.txt
requests==2.20.0
fake_useragent==0.1.11
lxml==4.2.5
pandas==0.22.0

詳細は個人ブログ参照:Pythonプロジェクト生成requirements