【问题标题】:Pip Install Multiple Sub-Directories in Editable ModePip 在可编辑模式下安装多个子目录
【发布时间】:2021-09-30 14:51:26
【问题描述】:

我有一个包含多个命名空间包的存储库,格式如下:

package_dir/

  • package_1
    • setup.py
  • package_2
    • setup.py

等等。我想使用通配符以可编辑模式将所有包安装在整个 package_dir 目录中。如果我跑:

pip install -e package_dir/package_*/

只有被 pip “发现”的第一个包以可编辑模式安装。有没有办法使用通配符以可编辑模式安装所有匹配的目录?

我有一个运行 pip 命令的 Makefile,并且包会定期添加到 package_dir。我宁愿不必在每次将小脚本添加到存储库时都向 Makefile 添加新行。

编辑:

Makefile 目标:

$(VENV_DIR): $(RELEASE_ROOT)/dev_requirements.txt
    rm -rf $@
    $(PYTHON_BIN) -m venv $@
    $(DEV_BIN)/pip3 install -U pip
    $(DEV_BIN)/pip3 install -r $(RELEASE_ROOT)/dev_requirements.txt
    $(DEV_BIN)/pip3 install -e $(RELEASE_ROOT)/package_dir/package_*/

【问题讨论】:

标签: python makefile pip


【解决方案1】:

我猜你需要一个循环,像这样:

for dir in package_dir/package_*/; do pip install -e "$dir"; done

如果你想把它放到一个makefile中(如果你需要帮助,你真的应该在你的问题中包含makefile规则)你需要在$dir中加倍$以将它从make中转义: $$dir.

【讨论】:

    猜你喜欢
    • 2021-06-25
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多