pip freeze > requirements.txt
我使用这个命令来生成一些需求,但是结果与一些本地文件位置有关。如何避免它们呢?
absl-py @ file:///home/conda/feedstock_root/build_artifacts/absl-py_1637088766493/work
aiohttp @ file:///D:/bld/aiohttp_1637087223487/work
aiosignal @ file:///home/conda/feedstock_root/build_artifacts/aiosignal_1636093929600/work
albumentations==1.1.0
async-timeout @ file:///home/conda/feedstock_root/build_artifacts/async-timeout_1637092647930/work
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1620387926260/work
autopep8==1.6.0
backcall==0.2.0
"@file:///home/conda/feedstock_root/build_artifacts/attrs_1620387926260/已经做完;我不想要的东西
我会尝试以下方法:
pip list --format=freeze > requirements.txt
编辑:此方法不应用作答案,但在更复杂的处理情况下可能有用。
为什么不尝试编写这种过滤呢?
请看下面的代码:
import subprocess
output = subprocess.check_output(['pip', 'freeze']).decode().split('rn')
result = list(filter(lambda x: False if '@' in x else True, output))
print(result)
fname = 'requirements_test.txt'
with open(fname, mode='w', encoding='utf8') as f:
for row in result:
f.write(row + 'n')