jpm*_*los 27 python packaging pip
当我需要处理我的一个宠物项目时,我只是像往常一样克隆存储库(git clone <url>
),编辑我需要的东西,运行测试,更新setup.py
版本,提交,推送,构建包并将它们上传到PyPI.
使用有什么好处pip install -e
?我应该使用它吗?它将如何改善我的工作流程?
如果这有帮助,这是我目前打包并发送给PyPI的两个宠物项目,但从未使用过pip install -e
.一个是纯Python,另一个是Django包.
如何通过使用来改善项目的工作流程或结构pip install -e
?
Aer*_*rin 100
对于那些没有时间的人:
-e
如果您使用标志(例如)安装项目pip install -e mynumpy
并在代码中使用它(例如from mynumpy import some_function
),那么当您对 进行任何更改时some_function
,您应该能够使用更新的功能而无需重新安装它。
and*_*sit 60
我发现pip install -e
在同时开发产品和依赖项时非常有用,我经常这样做。
例子:
您使用 Django 为众多客户构建网站,并且还开发了一个名为Locations的内部 Django 应用程序,您可以在多个项目中重用该应用程序,因此您可以在 pip 上使用它并对其进行版本控制。
当您处理项目时,您可以像往常一样安装需求,这会将位置安装到站点包中。
但是您很快就会发现位置可以做一些改进。
因此,您获取位置存储库的副本并开始进行更改。当然,您需要在 Django 项目的上下文中测试这些更改。
只需进入您的项目并输入:
pip install -e /path/to/locations/repo
这将使用指向位置存储库的符号链接覆盖站点包中的目录,这意味着对其中代码的任何更改都将自动反映 - 只需重新加载页面(只要您使用的是开发服务器)。
符号链接查看目录中的当前文件,这意味着您可以切换分支以查看更改或尝试不同的事情等...
另一种方法是创建一个新版本,将其推送到 pip,希望您没有忘记任何事情。如果你有很多这样的内部应用程序,这很快就会变得站不住脚。
jpm*_*los 21
pip install -e .
如果您想运行包,python package.py
并且从该文件导入项目的其他模块,则使用实际上非常有用.该命令使它们可以找到!
它的作用是:
site-packages/PackageName.egg-link
文件site-packages/easy-install.pth
<venv>/bin
似乎前两个中的任何一个都足够了,后者在开发命令行实用程序时很方便.
pro*_*sti 19
pip install -e
是如何通过pip
. 您通常要做的是安装依赖项:
git clone URL
cd project
pip install -e .
或pip install -e .[dev]
*现在应该安装所有依赖项。
* [dev] 是需求组的名称setup.py
除了setuptools(egg)之外,还有python安装的轮系统。这两个系统都基于不执行构建和编译的承诺。
归档时间: |
|
查看次数: |
9553 次 |
最近记录: |