【问题标题】:How do I test out changes to a python library pulled through git?如何测试通过 git 提取的对 python 库的更改?
【发布时间】:2019-05-24 00:00:51
【问题描述】:

我有一个 python 库,我想帮助解决一些问题。鉴于 python/pip 如何安装库的复杂性,我只是不知道如何测试我的更改。

我已经用 pip 安装了库,我可以通过执行“from import *”来运行连接到库的 python 代码。但是现在我想对其进行更改,我使用 git 提取代码并计划分支以处理我的更改。没关系。然后我会做一个拉取请求来合并给定测试通过的任何更改。

但是在我做出更改之后,如何将我的更改集成到 python 中以测试我对库所做的更改pip 可以安装我的 custom/modified 版本的库吗?

我环顾四周并没有成功找到答案,但也许我没有找对地方。

【问题讨论】:

    标签: python git pip


    【解决方案1】:

    pip 可以安装我的自定义/修改版本的库吗?

    是的。

    有多种方法可以解决这个问题。一个常见的解决方案是使用 Python virtual environments。这允许您创建一个独立的 Python 环境,该环境与您的系统 Python 安装不共享相同的包。然后你可以在其中安装一些东西(比如你修改过的 Python 库)来测试它。

    要开始使用,您需要virtualenv 工具。这可能作为您的分发包提供,但您也可以使用pip 安装它。一旦你有了它,你就可以在与你的代码相同的目录中运行:

    virtualenv .venv
    

    这将创建一个名为 .venv 的 deverelenv。您可以随意命名它,但将其命名为 .venv(或以 . 开头的任何名称)意味着它不会在您的工作区中混淆 ls 的输出。

    接下来,你需要激活virtualenv:

    . .venv/bin/activate.sh
    

    这会修改您的 $PATH 以将 virtualenv 放在目录列表的前面。现在,当您输入 pythonpip 时,您将使用 virtualenv 版本。

    如果你的代码有setup.py文件,你可以这样安装:

    pip install -e .
    

    -e 表示您要执行“可编辑”安装,这意味着 python 将“就地”使用代码,并且您所做的任何更改都将立即对您用于测试的代码可见。

    完成后,您可以运行:

    deactivate
    

    这将删除 activate 对您的环境所做的更改。


    更多信息:

    【讨论】:

    • 反应很好。非常清楚和简洁地与我的问题相关。我现在就试试。谢谢!
    • 我只想说,每当我在linux和macos中尝试“..venv/bin/activate.sh”命令时,效果都不是很好。所以我尝试了“source .venv/bin/activate”并且成功了。
    • 这很奇怪。 . 是用于获取文件的规范 shell 命令。很高兴你让它工作,通过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2012-01-28
    • 2012-09-30
    • 2010-09-12
    相关资源
    最近更新 更多