Python -m switch to run module inside package(在包中运行模块的Python-m开关)
本文介绍了在包中运行模块的Python-m开关的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在阅读article。
我想知道为什么这篇文章中的以下陈述是正确的?因为我可以使用解决方案1-也就是-python -m packA.a2,它工作得很好。
为了给您提供一些上下文,Solution 1说:
使用以test/目录(即中间列)为根的绝对导入 在上表中)。这保证了直接运行start.py会一直奏效的。若要直接运行a2.py,请以 已导入模块而不是作为脚本:
- 在控制台中将目录切换到
test/python -m packA.a2
但在Case 3中作者说:
下面的示例是一个较难处理的问题。假设
sys.path可以更改(Take 2)a2.py从不需要直接运行, 但它同时由直接运行的start.py和a1.py导入。 在这种情况下,使用上述解决方案1将不起作用。然而, 其他解决方案仍然有效。
但我尝试了一下,并使用python -m packA.a1
推荐答案
我要求您创建此问题,但遗憾的是没有答案。我以为您就是创建了一本关于Python导入的权威指南的人,并且能够提供一个详细的示例。
这篇文章的问题是,不清楚他所说的情况是什么意思。我们已经创建了我们认为他在python2和python3中所指的东西,它们都工作得很好
也许有一天Christopher Yeh会看到这个问题并解开谜团,可能会在这个过程中改进他的权威指南。
这篇关于在包中运行模块的Python-m开关的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:在包中运行模块的Python-m开关
基础教程推荐
猜你喜欢
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
