如何从不同文件夹中的另一个.py调用def

2024-01-03

我有以下结构: utils_dir 有generator.py 文件,其中有3 个def。

我在 inline_dir 中有 test.py 。我正在尝试在 test.py 中使用生成器.py 中的 defs。

inline_dir 和 utils_dir 位于不同的文件夹中。 我怎样才能使用 defs 来实现它?

尝试创建_init_.py然后打电话import generator。 - 没有工作。 尝试过from utils import generator- 没有工作

Dir structure

Support_dir ├── dir_A │ ├── dir_aa │ └──----- main.py [Want to use a and b from generator.py] └── utils | └── generator.py | |___ def a |___ def b


这是一种Python路径问题。当你导入时,python会搜索当前目录和默认系统路径目录。由于 utils_dir 不是您当前的工作目录(导入时,您在 inline_dir 中工作),也不是默认的 python 搜索系统路径,这就是导入不起作用的原因。

一个简单的解决方法是

A)。首先将 utils_dir 作为 python 包:只需添加init目录中的.py。

b).然后,将 utils_dir 的父文件夹路径添加到 PYTHONPATH 环境变量中。

export PYTHONPATH=/home/user/parent_of_utils_dir:$PYTHONPATH

您可以将此行添加到 .bashrc 中以使其始终可用。

C)。在你的 test.py 中,导入函数

from utils import generator

or

import utils.generator

更Python的开发方式是使用setuptools,编写python脚本setup.py,这样就可以解决依赖问题。然后你可以使用

python setup.py develop

在开发模式下使用。

查看更多 python 包开发指南:https://packaging.python.org/ https://packaging.python.org/

希望对你有帮助。

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

如何从不同文件夹中的另一个.py调用def 的相关文章

随机推荐

  • 从 Option[] 包装的对象中读取多个变量

    我有一个变量obj Option MyObject 并希望从中提取多个变量 如果未设置对象 则应使用默认值 目前我是这样做的 val var1 obj match case Some o gt e var1 case gt default1
  • 如何通过包含部分字符串的组件名称查询组件

    我想用Ext ComponentQuery query 查询包含某个名称路径的按钮名称 假设我有 4 个按钮 名称声明为 edit btn add btn add2 btn 和 edit2 btn 然后我使用查询 Ext Component
  • Sass --watch 不重新编译

    Sass 更新了我的主样式表build css当我将更改保存到build scss 但不会更新build css例如 当我保存对任何部分的更改时 grid settings scss 我基本上必须手动重新保存build scss每次我对部分
  • 如何在西门子 S7-1200 和 python 之间进行通信?

    我正在 S7 1200 plc 上运行一个进程 我需要它向我的 python 脚本发送启动信号 脚本运行完成后 需要将一些内容发送回 plc 以启动下一阶段 哦 它必须在梯子上完成 有没有一种快速而肮脏的方式通过profibus发送东西 或
  • 如何在 Sublime Text 2 中删除包

    我想删除和 或停用EmmetSublime Text 2 中的包 我应该删除Emmet目录或删除包的典型工作流程是什么 If you installed with package control search for Package Con
  • 未找到符号,应位于:平面命名空间

    我有一个巨大的gl pxd包含所有定义的文件gl h glu h and glut h 例如它有这些行 cdef extern from
  • 为什么 cffi 比 numpy 快这么多?

    我一直在尝试用 python 编写 cffi 模块 它们的速度让我想知道我是否正确使用了标准 python 这让我想彻底转向C 说实话 有一些很棒的 python 库我永远无法用 C 重新实现自己 所以这比任何实际情况都更假设 此示例显示了
  • 如何保持 PHP“查看源代码”html 输出干净[重复]

    这个问题在这里已经有答案了 今天在网站上查看源代码后 这一直困扰着我 我在模板中使用 PHP 输出来获取动态内容 模板仅以 html 形式开始 并且缩进和格式清晰 然后添加 PHP 内容并缩进以匹配 html 格式 ul li nav1 l
  • 如何在我的 iPhone 应用程序中使用 NSError?

    我正在努力捕获应用程序中的错误 并且正在考虑使用NSError 我对如何使用它以及如何填充它有点困惑 有人可以提供一个关于我如何填充然后使用的示例吗NSError 嗯 我通常做的是让我的方法在运行时可能会出错 并引用NSError指针 如果
  • 从 http://localhost/ 运行 file://

    我想知道如何使我的 html 项目不从 file 运行 而是作为本地主机运行 因为我实现的功能之一需要 getUserMedia 当从 file 加载时 浏览器会立即阻止该项目 我对此做了很多研究 但我仍然不明白应该如何做 所以如果可以的话
  • 如何加密cookie中的会话id?

    当我阅读有关会话劫持的文章时 我了解到对存储在 cookie 中的会话 ID 值进行加密会很好 据我所知 当我通过调用开始会话时session start PHP 不会加密 cookie 中的会话 id 值 如何加密会话 ID 值 然后用它
  • 添加和删​​除类不同的元素

    所以我目前正在学习 jquery 和一点动画的 tweenlite 我想保持基本 所以我目前正在构建一个投资组合网格 但我想添加一个元素的点击 另一个元素正在淡入 从右侧滑动并不重要 但是我找不到一种方法来使其工作 即 1 个元素有 1 个
  • 设置使用 anaconda 与 VS Code 和集成 Git 终端时卡住

    我想学习数据科学 所以使用了一些非常流行的 Python 模块 如 Pandas Matplotlib Numpy 等 所以我清理安装了 Anaconda 现在使用它作为我的默认 Python 解释器 还使用 Conda 来安装包和创建虚拟
  • Httpclient multipart/form-data 同时发布图像和 json

    我正在尝试使用 C 代码在一个请求中上传图像和 json 但服务器总是返回 400 错误请求 使用 fiddler 执行相同的请求返回状态代码 200 帮助 这是我的小提琴手代码 WebKitFormBoundary7MA4YWxkTrZu
  • OkHTTP Websocket:连接上的蒸汽意外终止

    我正在尝试连接到 Stack Exchange 聊天 Websocket websocket 用于接收聊天中的新事件 例如新消息 以下是用于创建 Websocket 的代码 String wsUrl getWsUrl Request wsR
  • 重用字符串流而不需要重新分配

    我试图弄清楚如何重用 stringstream 对象 而无需每次在流中放入某些内容时都需要重新分配底层字符串 我已经发现这个答案 https stackoverflow com questions 624260 how to reuse a
  • JNI-多线程

    我有一个从 C 调用的 Java 函数的 JNI 包装器 我试图从不同的线程调用一些方法 但在尝试获取 JNIEnv 指针的新副本时出现错误 代码我 m 使用如下并在每个方法中调用 JNIEnv GetJniEnvHandle Thread
  • 为什么 WAMP 中的 Apache 2.1.7 不将 PHP 错误记录到 PHP 错误日志中?

    我已经安装了WAMP 并决定在最新版本的WAMP中使用默认的Apache 2 1 7 原因是我的网站所在的主机服务器也使用 2 1 7 之前 我在 WAMP 中使用 Apache 2 2 11 因为我的上一个主机也使用该版本 我现在遇到的问
  • 使用 golang 打印可读变量

    如何以可读的方式打印地图 结构或其他内容 使用 PHP 您可以做到这一点 echo pre print r var echo pre or header content type text plain print r var 使用Gofmt
  • 如何从不同文件夹中的另一个.py调用def

    我有以下结构 utils dir 有generator py 文件 其中有3 个def 我在 inline dir 中有 test py 我正在尝试在 test py 中使用生成器 py 中的 defs inline dir 和 utils