Dil*_*son 59 python rubygems npm
我一直在寻找可以与python一起使用的包管理器.我想在文件中列出项目依赖项.例如,ruby使用Gemfile,您可以使用bundle install.我怎么能在python中实现这一点?
Bar*_*ark 72
该pip
工具正在成为相当于Ruby宝石的标准.比如distribute
,pip
使用PyPI包存储库(默认情况下)来解析和下载依赖项.pip
可以从列出项目依赖项的文件(requirements.txt
按约定调用)安装依赖项:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
您也可以使用pip"冻结"Python路径上的当前包:
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
与virtualenv
程序包结合使用时,可以可靠地创建具有项目所需依赖项的项目Python环境.
Soo*_*ena 38
(我知道这是一个老问题,它已经有了答案,但对于那些来这里寻找与我不同的答案的人来说.)
我找到了一个非常好的npm,它叫做pipenv.它同时处理virtualenv和pip要求,所以它更像是npm.
pip install pipenv
Run Code Online (Sandbox Code Playgroud)
那么你可以使用python的第三个版本创建一个新的virtualenv,以及制作一个将填充你的项目要求和其他东西的pip文件:
pipenv install --three
Run Code Online (Sandbox Code Playgroud)
使用您创建的virtualenv:
pipenv shell
Run Code Online (Sandbox Code Playgroud)
安装一个新的python包:
pipenv install requests
Run Code Online (Sandbox Code Playgroud)
运行.py文件就像:
pipenv run python somefile.py
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到它的文档.
小智 8
Python pip
用于包管理器.该pip install
命令可以-r <file>
选择从指定的需求文件安装包.
安装命令:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
示例requirements.txt
内容:
Foo >= 1.2
PickyThing <1.6,>1.9,!=1.9.6,<2.0a0,==2.4c1
SomethingWhoseVersionIDontCareAbout
Run Code Online (Sandbox Code Playgroud)
有关格式的完整说明,请参阅文档的"要求解析"部分:https://pip.pypa.io/en/stable/user_guide/#requirements-files
这就是我将pip
的范围限制到当前项目的方式。如果您来自 NodeJSnpm
或 PHP composer
,您使用-g
或明确指定全局安装,则感觉正好相反--global
。
如果您还没有virtualenv
安装,请使用以下命令全局安装:
pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
每个 Python 项目都应该有自己的virtualenv
安装。设置一个很容易,只需cd
到您的项目的根目录,然后:
python3 -m virtualenv env # creates env folder with everything you need
Run Code Online (Sandbox Code Playgroud)
激活虚拟环境:
source env/bin/activate
Run Code Online (Sandbox Code Playgroud)
现在,任何与 的交互pip
都包含在您的项目中。
pip install package_name==version
为每个依赖项运行。它们安装在./env/lib/python3.x/site-packages/
如果要将项目的依赖项保存到文件,请运行:
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
您实际上不需要-l
或者--local
如果您处于激活的特定于项目的 virtualenv(您应该是)中。
现在,当您想从 安装依赖项时requirements.txt
,请设置您的 virtualenv,然后运行:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
就这样。
归档时间: |
|
查看次数: |
18412 次 |
最近记录: |