问题标签 [runpy]

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 投票
7 回答
34887 浏览

python - Python IDLE: Run main?

I'm in IDLE:

After importing a module with:

How do I actually call main from IDLE?

0 投票
4 回答
7442 浏览

python - 相对进口的噩梦,pep 366如何工作?

我有一个这样的“规范文件结构”(我给出了合理的名称以方便阅读):

在这种结构中,例如每个包中包含的模块可能希望helpers通过相对导入来访问实用程序,例如:

该程序以这种方式使用文件“作为脚本”运行__main__.py

试图遵循PEP 366我在__main__.py这些行中添加了:

但是运行时:

怎么了?处理和有效使用相对进口的正确方法是什么?

我也尝试将当前目录添加到 PYTHONPATH,没有任何变化。

0 投票
4 回答
7778 浏览

python - 如何从您的脚本执行另一个 python 脚本并能够调试?

你有一个包装 python 脚本,它正在调用另一个 python 脚本,当前使用os.system('python another.py some-params').

您希望能够调试这两个脚本,如果您使用os.system(),您将失去调试器,因此使用相同的解释器加载第二个脚本而不是启动另一个脚本是有意义的。

import没有达到预期的效果,因为它没有运行__main__.

其他变体,例如exec()runpy接缝以错过argv参数。

你认为这个问题有什么解决方案?

我正在寻找不需要您修改another.py脚本的解决方案。可能这需要sys.argv在执行之前修改它。

0 投票
0 回答
420 浏览

python - 在大型企业环境中组织许多 python 脚本

我们已经编写了大量的 Python 脚本,现在我们有一个目录,其中包含近百个松散相关的脚本。显然是时候组织这个了,但是有一个问题。这些脚本相互自由导入,尽管代码重用通常是一件好事,但将它们组织到目录中变得相当复杂。

关于我们的企业环境,您应该了解以下几点:

  1. 我无权访问用户的环境。编辑 PYTHONPATH 已经结束,除非它发生在脚本本身中。
  2. 用户不安装东西。系统预计已经 安装并正在运行,因此 setup.py 不是解决方案,除非我可以为所有用户运行一次。

我非常愿意编辑我的导入语句并进行一些小的重构,但我目前看到的解决方案要求我将所有代码严格划分为“用户可运行脚本”和“库”,考虑到数量,这是不可行的的代码。

有没有人在那里解决过类似的问题?你满意吗?

——巴克


陈述相同问题的另一种方式:

在看google代码搜索时,这种代码很猖獗(下)。大家对此满意吗?有没有好的选择?

0 投票
1 回答
535 浏览

python - 闭包如何在 runpy 中工作?

当我尝试运行使用runpy模块加载的文件中定义的方法时,出现意外行为。这些方法看不到在该方法之外定义的任何变量(包括导入的模块)。这是我的做法:

~

我预期的 test.py 输出将是:

因为 fn 会形成 re、x 和 y 的闭包。

但是,相反,我得到:

看起来 re 没有在 fn 中定义,即使它应该具有正常的关闭行为。x 和 y 更奇怪,因为它们似乎已定义但设置为 None。

为什么会这样以及闭包如何与 runpy 一起使用?如何实现正常行为,使 fn 可以“看到”外部变量?

0 投票
1 回答
100 浏览

python - What does "fresh module namespace" mean w.r.t. runpy?

http://docs.python.org/2/library/runpy.html#runpy.run_module

My question is about this part of the run_module documentation.

... and then executed in a fresh module namespace.

What is a "module namespace" in python? In what ways does runpy differ from import?

0 投票
1 回答
8197 浏览

python - 什么是 python runpy 模块?

我想知道 Python 中runpy模块的用途以及它对 Python 用户社区的日常开发有何帮助?

runpy有人可以解释一下python中模块的必要性、用法和优点吗?

0 投票
1 回答
224 浏览

python - 为什么导入指令没有执行到python进程中

我正在寻找一种解决方案来为运行脚本进行多处理。我有一个启动 4 个进程的函数,每个进程执行一个脚本,runpy.run_path()然后我返回。

例子 :

在每个 PyScript.py 中,我都导入了一个库,每个脚本都必须再次导入它。但是,在这种情况下,它不能按我的意愿工作,我不明白为什么。我的库在第一个过程中导入一次,在其他过程中使用相同的“导入”。你可以帮帮我吗 ?

谢谢 !

0 投票
0 回答
238 浏览

python - 运行时补丁 python 模块

我正在寻找一种在替换导入时运行模块的方法。这将是run_patched以下伪代码中缺少的魔法。

我知道单个方法可以用赋值代替,例如声明ArgumentParser.parse_args = print,所以我很想弄乱全局变量sys.modules,然后执行模块runpy.run_module

不幸的是,整个策略应该能够在多线程场景中工作。因此,更改应该只影响执行的模块,而程序的其他部分可以继续使用未修补的模块,就好像它们从未被触及过一样。

0 投票
1 回答
1402 浏览

python - python runpy.run_module 退出代码

是否可以从通过 runpy.run_module() 调用的模块中获取退出代码?

我希望将我的替换 exit_code = subprocess.call('py -m mymodule') runpy.run_module('mymodule') 并仍然获得exit_code价值。

mymodule一个包含 python 脚本的目录__main__.py在哪里sys.exit(1)

runpy.run_module('mymodule')在交互式 shell 中进行测试会关闭该 shell。我找不到有关该行为的任何文档。在我看来,使用subprocess.callrunpy.run_module作为程序或函数运行它之间的区别。如果是这种情况,那么就会解释行为,runpy.run_module如果我需要退出代码,我不太可能使用它。任何人都可以确认这一点,可能带有指向我可以找到的一些文档的链接。