如何透明地重定向 Python 导入?

2023-11-26

我正在寻找一种模拟 Python 导入符号链接的方法。我希望能够就地解压以下文件夹结构而无需复制文件:

root
├─ python_lib
│  └─ my_utils
│     ├─ __init__.py
│     └─ etc.py
├─ app1
├─ app2
└─ app3
   ├─ lib
   │  ├─ __init__.py
   │  └─ my_utils.py
   └─ run.py

app3/run.py包含这个:

from lib.my_utils import etc

etc.pancakes()

我希望代码能够使用etc位于python_lib/my_utils/。有什么我可以放进去的吗app3/lib/my_utils.py这样 Python >= 3.1 将透明地导入python_lib/my_utils/文件夹(使用相对路径和..),子包也可以工作吗?


你必须执行某物 before app3/run.py到达进口声明。

import python_lib
import sys
sys.modules['lib'] = python_lib
# ...
from lib import etc
print etc.__file__
print dir(etc)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何透明地重定向 Python 导入? 的相关文章

  • Python 3.4.3 tkinter - 程序在声明 IntVar 或任何其他 tkinter 数据类型时冻结

    上一主题 Python 3 4 tkinter checkbutton变量处理不起作用 响应 https stackoverflow com questions 33711472 python 3 4 tkinter checkbutton
  • Python动态导入脚本,需要有其__name__ == "__main__"代码才能被调用

    当从另一个脚本导入 python 脚本时 我想要受经典保护的脚本代码 if name main 要运行 我怎样才能运行该代码 我想做的是从 python 脚本动态更改模块 然后导入现有脚本 该脚本应该看到所做的更改并运行其 main 像Py
  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • Python 将列表中的字符串转换为数字

    我遇到了以下错误消息 以 10 为基数的 int 的文字无效 2 2 外部用单引号括起来 内部用双引号括起来 该数据位于primes列出使用print primes 0 样本数据在primes list 2 3 5 7 The primes
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • 如何在 pygame 中聚焦光线或如何仅绘制窗口的某些圆形部分?

    对于这一点 如果您熟悉它 请想想 超级马里奥制造2 中嘘关卡中的黑暗模式 我试图在角色周围创建一个圆形聚光灯 这也将使圆圈范围内的任何内容都可见 例如部分站在地板上 敌人或场景中的任何其他物体 我的计划是首先绘制圆圈 聚光灯 然后绘制场景
  • 地图与星图的性能?

    我试图对两个序列进行纯Python 没有外部依赖 逐元素比较 我的第一个解决方案是 list map operator eq seq1 seq2 然后我发现starmap函数来自itertools 这看起来和我很相似 但事实证明 在最坏的情
  • 更改Python pylab玫瑰/极坐标图中图例标题的字体大小

    我正在尝试更改玫瑰图或 极地 图上现有图例标题的字体大小 大部分代码是由不在的其他人编写的 我已经添加 ax legend title legend title setp l get title fontsize 8 添加标题 legend
  • ValueError:在 R 中使用 keras 模型时在用户代码中

    我正在尝试使用 R 在 R 中运行一维 CNNkeras包裹 我正在使用以下代码 library MASS library keras Create some data data Boston data lt Boston create a
  • numpy 数组最快的保存和加载选项

    我有一个生成二维的脚本numpy数组与dtype float和形状的顺序 1e3 1e6 现在我正在使用np save and np load对数组执行 IO 操作 然而 这些函数对于每个数组都需要几秒钟的时间 是否有更快的方法来保存和加载
  • 如何最好地将包含列表或元组的 Pandas 列提取到多个列中[重复]

    这个问题在这里已经有答案了 我不小心用错误重复的链接关闭了这个问题 这是正确的 Pandas 将列表的列拆分为多列 https stackoverflow com questions 35491274 pandas split column
  • 在 Windows 上将 NumPy 与 BLAS 链接

    我正在尝试在 Windows 系统上安装 Theano 并且需要安装 BLAS 和 LAPACK 我的 System32 文件夹中有这些的 dll 文件 当我运行 numpy config来自 Anaconda 的 show 库的路径正确显
  • 如何抑制 pyinstaller 生成的可执行文件窗口中的所有警告

    我已经使用 pyinstaller 从 python 文件生成了可执行文件 该程序按其应有的方式工作 但在我想隐藏的窗口中出现了一条警告消息 当 python 文件在 IDE 中运行时 以下行会抑制所有警告消息 warnings filte
  • Cython:为什么 size_t 比 int 快?

    更改某些 Cython 变量的类型int输入size t可以显着减少某些功能的时间 30 但我不明白为什么 例如 cimport numpy as cnp import numpy as np def sum int cnp int64 t
  • 如何在树莓派上更新到最新的 python 3.5.1 版本?

    我昨天拿到了 Raspberry Pi 我已经在尝试用它来编写代码了 我有一个计划在其上运行的程序 但它仅与 Python 版本 3 5 0 或 3 5 1 兼容 并且我在互联网上找到的所有内容似乎都已经过时 与 Python 2 有关 或
  • 监控单个文件

    我需要监控 使用watchdog http pythonhosted org watchdog index html 单个文件 而不是整个目录 避免监视整个目录的最佳方法是什么 我想this http pythonhosted org wa
  • 具有条件的重复行 pandas dataframe python

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • sklearn 中带有词袋和附加情感特征的文本分类器

    我正在尝试构建一个分类器 除了词袋之外 还使用情绪或主题 LDA 结果 等特征 我有一个包含文本和标签的 pandas DataFrame 并且想添加情感值 5 到 5 之间的数字 和 LDA 分析结果 带有句子主题的字符串 我有一个工作词
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通

随机推荐

  • C++11 初始值设定项列表失败 - 但仅限于长度为 2 的列表

    我发现了一个不起眼的日志记录错误 因为长度为 2 的初始值设定项列表似乎是一个特殊情况 这怎么可能 该代码是使用 Apple LLVM 版本 5 1 clang 503 0 40 编译的 使用CXXFLAGS std c 11 stdlib
  • 如何在 SQLAlchemy 中使用 joinload/contains_eager 来实现启用查询的关系(lazy='dynamic' 选项)

    我有 SQLAlchemy 声明的以下模型类 class User Base id Column Integer primary key True name Column String nullable False unique True
  • 在 Matplotlib 中以科学记数法显示第一个小数位

    我目前正在使用 y 轴的科学记数法生成不同的数字 导致某些图上的刻度为 2 或 6 而另一些图上的刻度为 2 5 或 8 9 我希望 y 轴上始终保留一位小数的刻度 即使它添加了零 这是一个例子 import matplotlib pypl
  • 了解 Python 配置文件输出

    我正在尝试使用 Python 分析器来加速我的代码 我已经能够确定几乎所有时间都花在哪个特定函数上 但我无法弄清楚该函数中的时间花在哪里 下面是配置文件输出 其中显示 appendBallot 是罪魁祸首 耗时近 116 秒 下面 我有 a
  • 如何在Linux内核设备驱动程序中使用定时器?

    我想在 Linux 设备驱动程序中实现一个计数器 该计数器在每个固定时间间隔后递增 我想在计时器的帮助下做到这一点 示例代码片段将非常有用 看看下面的文章IBM Developerworks 计时器和列表 有一个如何使用 Linux 内核定
  • Swift 中忽略参数的用途是什么

    在 Swift 中 您可以编写以下内容 func foo Int gt return 1 其中下划线是被忽略的参数 我只是因为文档才知道这一点 但想不出任何关于为什么你会这样做的用例 我错过了什么吗 在以下情况下 忽略参数 或元组的成员 它
  • HtmlAgilityPack ——
    是否会因某种原因自行关闭?

    我只是写了这个测试来看看我是否疯了 using System using System Collections Generic using System Linq using System Text using HtmlAgilityPac
  • 是否有一种颜色混合算法可以像混合真实颜色一样工作?

    常见的 RGB 颜色混合与绘画颜色的混合有很大不同 它是光的混合而不是颜料的混合 例如 Blue 0 0 255 Yellow 255 255 0 Grey 128 128 128 应该是蓝色 黄色 绿色 是否有任何已知的颜色混合算法可以像
  • 如何复制 iOS 10 的 Apple Music“查看和弹出操作菜单”

    iOS 10 有一个我想复制的功能 当您在 Apple Music 应用中 3D 触摸专辑时 它会打开如下所示的菜单 然而 与普通的窥视和弹出不同 当您抬起手指时 它不会消失 我该如何复制这个 我最接近复制它的是以下代码 它创建了音乐应用程
  • 异步/等待与BackgroundWorker

    这几天我测试了 net 4 5和c 5的新特性 我喜欢它的新异步 等待功能 早些时候我用过后台工作者使用响应式 UI 在后台处理较长的进程 我的问题是 在拥有这些不错的新功能之后 我什么时候应该使用 async await 以及什么时候使用
  • 如何关闭弹出窗口并重定向父窗口

    string dialog url http www facebook com dialog oauth client id app id redirect uri Server UrlEncode my url scope permiss
  • 如何从 MATLAB 中的字符串输入创建函数指针?

    如果我使用inlineMATLAB 中的函数 我可以创建一个函数名称 该函数名称可以根据之前的选择做出不同的响应 if someCondition p inline a b a b else p inline a b a b end c p
  • 使用通配符复制多个文件/使用 Wix 递归复制

    我对 Wix 以及一般的安装人员 完全是菜鸟 所以请原谅我 我的目标是能够遍历目录 搜索所有 例如 exe 文件并将它们复制到预定义的目标文件夹 事情是 我don t知道这些文件是什么以及它们的名称 所以我无法在 wxs 文件中将它们一一键
  • 为什么接口的显式实现不能公开?

    我在类中有方法 它是接口的实现 当我进行显式实现时 出现编译器错误 The modifier public is not valid for this item 为什么不允许有public用于显式接口实现 显式接口实现的原因是为了避免名称冲
  • mysql表结构建议?

    这个表对mysql有用吗 我希望将来能够灵活地用于这种类型的数据存储 对于这个表结构 你不能使用主键 只能使用索引 我是否应该更改表的格式以具有标题 主键 宽度 长度 空间 耦合 ID NUM Param Value 1 Width 5e
  • Azure API 服务器无法验证请求

    我有一个任务 我尝试使用辅助角色并上传控制台应用程序并运行 exe 该任务应该每天运行一次并收集我的一些虚拟机的 Azure 指标 这在本地工作完美 但在云服务上我收到此错误 未处理的异常 Microsoft WindowsAzure Cl
  • Go 中的垃圾收集和指针的正确使用

    我有 Python Ruby JavaScript 背景 我了解指针的工作原理 但是 我不完全确定如何在以下情况下利用它们 假设我们有一个虚构的 Web API 它会搜索某个图像数据库并返回一个 JSON 描述找到的每个图像中显示的内容 u
  • CPU缓存如何影响C程序的性能

    我试图更多地了解 CPU 缓存如何影响性能 作为一个简单的测试 我将矩阵第一列的值与不同数量的总列数相加 compiled with gcc Wall Wextra Ofast march native cache c tested wit
  • 扩展 jQuery 的 .on() 以处理移动触摸事件

    我正在尝试使用 jQuery mobile 事件 而不使用 jQuery mobile 的其余部分 https github com jvduf jquery mobile events blob master jquery mobile
  • 如何透明地重定向 Python 导入?

    我正在寻找一种模拟 Python 导入符号链接的方法 我希望能够就地解压以下文件夹结构而无需复制文件 root python lib my utils init py etc py app1 app2 app3 lib init py my