Way*_*ner 5 python pip virtualenv
我正在开发一个 Python 库,该库已安装在我的本地 virtualenv 中以进行测试。我有几个使用 pip 安装的依赖项。当我做
$ pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
它添加了我当前的项目,如下所示:
-e git+git@github.com:path/to/my/project@somehash#egg=lib-master
Run Code Online (Sandbox Code Playgroud)
我必须手动删除 - 我的项目实际上并不依赖于它自己。是否可以将一个参数传递给 pip 说“嘿,忽略这个/这些类型的包?”
pip freeze
最简单的解决方案是将to的结果grep
通过管道传输-v
(invert-match):
pip freeze | grep -v 'project_name' > requirements.txt
Run Code Online (Sandbox Code Playgroud)
演示:
$ mkvirtualenv test
New python executable in test/bin/python
Installing Setuptools...done.
Installing Pip...done.
(test)$ pip freeze
wsgiref==0.1.2
(test)$ pip install requests
Downloading/unpacking requests
Downloading requests-2.2.1.tar.gz (421kB): 421kB downloaded
Running setup.py egg_info for package requests
Installing collected packages: requests
Running setup.py install for requests
Successfully installed requests
Cleaning up...
(test)$ pip freeze
requests==2.2.1
wsgiref==0.1.2
(test)$ pip freeze | grep -v 'requests'
wsgiref==0.1.2
(test)$ pip freeze | grep -v 'requests' > requirements.txt
(test)$ cat requirements.txt
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)
另请参阅:使用 grep 进行负匹配(匹配不包含 foo 的行)。
希望有帮助。
归档时间: |
|
查看次数: |
2912 次 |
最近记录: |