如何删除 requirements.txt 中不需要的路径?

How do I remove unwanted paths in requirements.txt?

我目前有一个用pip3生成的需求文件如下:

pip3 freeze > requirements.txt

通过上面的命令,我得到以下 requirements.txt 文件:

alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
appdirs==1.4.4
argh==0.26.2
argon2-cffi @ file:///C:/ci/argon2-cffi_1613037869401/work
astroid @ file:///C:/ci/astroid_1623162452381/work
async-generator @ file:///home/ktietz/src/ci/async_generator_1611927993394/work
atomicwrites==1.4.0
attrs @ file:///tmp/build/80754af9/attrs_1620827162558/work
autopep8 @ file:///tmp/build/80754af9/autopep8_1615918855173/work
Babel @ file:///tmp/build/80754af9/babel_1620871417480/work
backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
bcrypt @ file:///C:/ci/bcrypt_1607022693089/work
beautifulsoup4==4.9.3
black==19.3b0

鉴于以上情况,我需要做什么才能使其看起来像下面的示例?

appdirs==1.4.4
argh==0.26.2
atomicwrites==1.4.0
beautifulsoup4==4.9.3
black==19.3b0

你可以使用 grep 作为例子。

pip3 freeze | grep -v '@ file:' > requirement.txt

它将删除所有匹配子字符串 @ file:

我知道它并不完美,但可能会对你有所帮助

pip list --format=freeze > requirements.txt

这应该会删除您 requirements.txt 中的奇怪路径引用。