Как удалить нежелательные пути в requirements.txt?

#python #anaconda #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
 

Ответ №1:

 pip list --format=freeze > requirements.txt
 

Это должно удалить нечетные ссылки на пути в вашем requirements.txt.

Комментарии:

1. ЭТО СРАБОТАЛО! Спасибо тебе, Кишан!

2. @VijayaShree Потрясающе, вы можете принять мой ответ 🙂

Ответ №2:

Например, вы можете использовать grep.

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

Он удалит все совпадения с подстрокой @ file: .

Я знаю, что это не идеально, но, вероятно, поможет вам

Комментарии:

1. grep нельзя использовать в conda