python項(xiàng)目依賴庫(kù)生成requirements.txt文件
第一種:pip freeze > requirements.txt
第二種:pipreqs 項(xiàng)目根目錄(不能有中文)--encoding=utf8
requirements已存在: pipreqs 項(xiàng)目根目錄 --encoding=utf8 --force
第一種:pip freeze > requirements.txt
步驟:
cd 到你的項(xiàng)目根目錄
-
執(zhí)行:pip freeze > requirements.txt
C:\Users\dyunren>i: I:\>cd I:\python20\softwaredate\py_basics
缺點(diǎn):`你本機(jī)python環(huán)境所有依賴都會(huì)寫到 requirements.txt文件當(dāng)中。
如圖展示:
image.png
第二種:pipreqs
pipreqs的安裝:
pip install pipreqs
查看版本:
pip show pipreqs 或 pipreqs --version
image.png
使用:pipreqs python項(xiàng)目根目錄
C:\Users\dyunren>i:
I:\>cd I:\python20\softwaredate\py_basics
I:\python20\softwaredate\py_basics>pipreqs
Traceback (most recent call last):
File "d:\software\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "d:\software\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "D:\software\python37\Scripts\pipreqs.exe\__main__.py", line 9, in <modul
e>
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 470, in
main
init(args)
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 409, in
init
follow_links=follow_links)
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 122, in
get_all_imports
contents = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 207: illegal
multibyte sequence
- 如上圖出現(xiàn)了編碼出錯(cuò)'gbk',需要轉(zhuǎn)換成utf-8
pipreqs I:\python20\softwaredate\py_basics --encoding=utf8
ERROR: Failed on file: I:\python20\softwaredate\py_basics\列表操作\列表序列通用
操作.py
Traceback (most recent call last):
File "d:\software\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "d:\software\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "D:\software\python37\Scripts\pipreqs.exe\__main__.py", line 9, in <modul
e>
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 470, in
main
init(args)
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 409, in
init
follow_links=follow_links)
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 138, in
get_all_imports
raise exc
File "d:\software\python37\lib\site-packages\pipreqs\pipreqs.py", line 124, in
get_all_imports
tree = ast.parse(contents)
File "d:\software\python37\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
# -*- coding: utf-8 -*-
^
SyntaxError: invalid character in identifier
報(bào)錯(cuò)為標(biāo)識(shí)符錯(cuò)誤,是因?yàn)槲椅募袔е形牧恕U娴氖强影。缓脫Q個(gè)項(xiàng)目試一下了。
- pipreqs D:\softwaredate\TestAPI --encoding=utf8
image.png
如果報(bào)requirements.tx存在的警告信息:
- 可以使用--force 參數(shù)來(lái)覆蓋
C:\Users\dyunren>pipreqs D:\softwaredate\TestAPI --encoding=utf8
WARNING: Requirements.txt already exists, use --force to overwrite it
pipreqs D:\softwaredate\TestAPI --encoding=utf8 --force
image.png
requirements.txt中的依賴如何安裝:
pip install -r requirements.txt