通过site-packages中安装的版本导入模块的开发版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过site-packages中安装的版本导入模块的开发版本相关的知识,希望对你有一定的参考价值。

我正在开发一个目前是封闭源代码的python模块,不能继续使用pip(不是我选择的)这个例子我将它称为private_module。这个模块依赖于我正在开发的另一个模块,我可以将其称为public_module。这是问题private_modulepublic_module的开发版本在我与同事共享的Windows服务器上的目录中。需要访问代码的计算机具有变量文件权限,因为它们的python含义可变,很难安装任何东西,但同时在他们的site-packages目录中可能会有private_modulepublic_module的延迟版本。还假设所有用户都没有编程经验,即使他们这样做,计算机也无法在没有管理员权限的情况下安装带有pip的软件包。

目录结构可以表示如下:

  • C: Program Files Anaconda3 lib site-packages [过时的公共和私有模块]
  • F: PythonModules exp [新的公共和私有模块]

我已经尝试了以下内容,如果模块尚未安装到pip中,但是在pip中安装的模块看起来更有利于另一个有意义,那么它可以正常工作。

import os
staging = [r"F:PythonModulesexp"]

for path in staging:
    if os.path.isdir(path):
        sys.path.append(path)

有没有办法可以将新的公共和私有模块加载到可能位于站点包中的对应模块上?

答案

这有点像一个hacky变通方法,但它应该适用于您的情况 - 您可以在sys.path的开头添加私有模块,因此它将在public pip版本之前读取。像这样的东西:

import sys
sys.path.insert(0,"F:PythonModulesexp")

以上是关于通过site-packages中安装的版本导入模块的开发版本的主要内容,如果未能解决你的问题,请参考以下文章

在 libreoffice 中安装的 python 中管理和导入库

如何使用Homebrew中安装的python3版本而不是库中安装的版本?

python3.5导入pymysql模块报错File "/home/vagrant/microblog/venv/lib/python3.5/site-packages/pymysql/co

升级 R 版本后,如何轻松重新安装旧版本中安装的所有软件包? [复制]

python中安装seaborn模块出现问题

如何显示 Visual Studio Code 中安装的扩展?