【问题标题】:How can I force the use of a local package for a dependency?如何强制使用本地包作为依赖项?
【发布时间】:2022-07-06 04:19:33
【问题描述】:

说我在跑步:

python -m mymodule

模块 'mymodule' 有 3 个依赖项:moduleA、moduleB 和 moduleC

我想运行 mymodule 但使用另一个独立的本地包作为 moduleC 的引用,而不是分配给 moduleC 的默认路径。

所以'mymodule'使用'moduleC',但我希望它使用我个人存储在另一个目录中的另一个版本的moduleC。

例如:

python -m mymodule --force_dependacy_moduleC ~/Desktop/independent/localmoduleC.tar

我不知道这是否有意义,但我写得尽可能清楚。

【问题讨论】:

    标签: python command-line command-line-arguments


    【解决方案1】:

    模块查找基于您的模块搜索路径进行,您可以使用PYTHONPATH 环境变量覆盖该路径。例如,如果moduleC 安装在/some/other/directory/moduleC.py 中,则可以运行

    PYTHONPATH=/some/other/directory python -m mymodule
    

    python 将首先在/some/other/directory 中查找任何模块,然后再搜索默认目录。

    请注意,Python 并不真正支持在同一进程中使用安装在不同目录中的多个版本的模块。如果您只想将特定版本的moduleC 用于mymodule,但在同一脚本的其他地方使用系统范围的版本,则必须以不同的名称安装mymodule 的两个版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 2017-12-17
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      相关资源
      最近更新 更多