问题标签 [python-packaging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
1739837 浏览

python - __init__.py 是干什么用的?

__init__.pyPython 源目录中的用途是什么?

0 投票
10 回答
866764 浏览

python - 什么是 setup.py?

谁能解释一下setup.py它是什么以及如何配置或使用它?

0 投票
23 回答
2252004 浏览

python - 如何导入其他 Python 文件?

如何在 Python 中导入其他文件?

  1. 我怎样才能导入特定的 python 文件import file.py
  2. 如何导入文件夹而不是特定文件?
  3. 我想根据用户输入在运行时动态加载 Python 文件。
  4. 我想知道如何从文件中加载一个特定的部分。

例如,在main.py我有:

虽然这给了我所有的定义extra.py,但也许我想要的只是一个定义:

我要在import语句中添加什么以从中gap获取extra.py

0 投票
1 回答
19793 浏览

python - Python 中的相对导入

大家好——我正在用 Python 中的相对导入来拉扯我的头发。我已经在 SO 和其他论坛上阅读了 30 次文档和大量帖子 - 似乎仍然不起作用。

我的目录结构目前看起来像这样

我希望 expander.py 和 language_id.py 能够访问功能模块。我运行 python main.py,它可以通过 from components.expander import * 和 components.language_id import * 很好地访问模块。

但是,expander 和 language_id 中的代码来访问功能模块:

我收到此错误:

我已经检查了很多次,它似乎遵循文档。有人对这里出了什么问题有任何想法吗?

0 投票
2 回答
17577 浏览

python - 当 CWD 发生变化时,如何在 Python 模块中使用相对路径?

我有一个 Python 模块,它使用模块目录的子目录中的一些资源。在搜索堆栈溢出并找到相关答案后,我设法通过使用类似的方法将模块定向到资源

当我从其他地方调用模块时这工作正常,但是当我在更改当前工作目录后调用模块时它会中断。问题是 的内容__file__是相对路径,没有考虑到我更改了目录的事实:

如何在 中编码绝对路径__file__,或者除此之外,无论当前工作目录是什么,我如何访问模块中的资源?谢谢!

0 投票
6 回答
37389 浏览

python - 如何在python中完成相对导入

script.py想进口mylib.py

这只是一个示例,但实际上我只想在父目录中进行模块的相对导入。我尝试了各种方法并收到此错误...

Attempted relative import beyond toplevel package

我在某处读到程序启动的脚本不应该在包中,我尝试像这样修改结构......

但得到了同样的错误。

我怎样才能做到这一点?这甚至是一种适当的方法吗?

编辑:在 Python 2 中

0 投票
1 回答
957 浏览

python - 从子文件夹自动导入模块时,它们的导入失败

我已经阅读了几个类似的问题,尤其是这个imp.load_module似乎接近我想要的问题,但我不明白为什么我仍然收到 ImportErrors。这是我的文件夹层次结构:

main.py我有以下代码。这是为了搜索thirdparty\目录并加载它找到的每个模块。每个模块都在其自己的单独目录中。

问题是css.py碰巧使用它自己的子文件夹来加载东西,utils. 里面有一行写着:

这就是它失败的地方。运行 main.py 时出现此错误。

我难住了。css.py是自包含在自己的文件夹中,当我css.py单独运行时,它导入utils就好了。这是什么原因造成的?

0 投票
1 回答
173 浏览

python - python:在相对导入中不允许 * 的原因是什么?

在相对进口中不允许 * 的原因是什么?例如

或直接进行相对导入:

0 投票
1 回答
675 浏览

python - Python中的条件相对导入......做还是不做?

给定以下软件包:

的内容__init__.py

的内容testmod.py

的内容testmod2.py

这很糟糕吗?有没有更好的办法?

0 投票
2 回答
11691 浏览

python - 多级相对导入

多级相对导入

我有以下文件夹结构

我想从foobar.py模块访问utiltest.py。我尝试了以下相对导入,但这不起作用: from ...util.utiltest import *

我总是得到 ValueError: Attempted relative import beyond toplevel package

如何进行这样的多级相对导入?