我有一个Python库,希望帮助您解决一些问题。考虑到python / pip安装库的复杂性,我只是不知道如何测试我的更改。
我已经在库中安装了pip,并且可以通过执行“ from import *”来运行连接到库的python代码。但是现在,我想对其进行更改,因此我使用git拉出了代码,并计划分支进行更改。没关系。然后,我将执行合并请求,以合并通过测试的所有更改。
但是在进行更改之后,如何将更改集成到python中以测试对库所做的更改?可以 pip 安装我的库的自定义/修改版本吗?
我环顾四周,但尚未成功找到答案,但也许我没有找到正确的位置。
答案 0 :(得分:3)
pip可以安装我的自定义/修改的库版本吗?
是的
有多种方法可以解决此问题。常见的解决方案是使用Python virtual environments。这使您可以创建一个隔离的Python环境,该环境不会与系统Python安装共享相同的软件包。然后,您可以将东西安装到其中(例如修改后的Python库)以对其进行测试。
要开始使用,您需要virtualenv
工具。该软件包可能作为分发包提供,但您也可以使用pip
安装。有了它,就可以在与代码相同的目录中运行:
virtualenv .venv
这将创建一个名为.venv
的德意志lenv。您可以随意调用它,但是将其命名为.venv
(或任何以.
开头的名称)意味着它不会使ls
的输出变得混乱。
接下来,您需要激活virtualenv:
. .venv/bin/activate.sh
这将修改您的$PATH
,将virtualenv放在目录列表的最前面。现在,当您键入python
或pip
时,将使用virtualenv版本。
如果您的代码中有一个setup.py
文件,则可以这样安装它:
pip install -e .
-e
表示您要执行“可编辑”安装,这意味着python将使用代码“就地”,并且您所做的任何更改将立即对用于测试的代码可见。 / p>
完成后,您可以运行:
deactivate
这将删除activate
对您的环境所做的更改。
有关更多信息:
Pipenv & Virtual Environments讨论了用于管理虚拟环境的高级工具。
Virtualenvwrapper是对更高级别管理工具的另一种体现。