Python中文
首页
教程
问答
标签
搜索
登录
注册
我可以使用python模块的main进行测试吗?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在Python3.8.2上开发一个Python库,出于测试目的,我想运行一个模块作为main。当我尝试时,我得到一个ModuleNotFound错误</p> <p>以下是我的库结构:</p> <pre><code>. ├── foo │ ├── __init__.py │ ├── bar.py │ └── quux │ ├── __init__.py │ ├── corge.py │ └── garply.py ├── main.py </code></pre> <p>bary.py:</p> <pre><code>def baz(): print("baz") </code></pre> <p>柯基·皮</p> <pre><code>from foo.quux.garply import * def grault(): waldo() print("grault") if __name__ == '__main__': grault() </code></pre> <p>garply.py</p> <pre><code>def waldo(): print("waldo") </code></pre> <p>main.py</p> <pre><code>from foo.bar import * from foo.quux.corge import * if __name__ == '__main__': baz() grault() </code></pre> <p>(所有<code>__init__.py</code>文件均为空)</p> <p>当我运行<code>main.py</code>时,它会工作</p> <pre><code>$ python main.py baz waldo grault </code></pre> <p>如果尝试运行<code>corge.py</code>,则会出现以下错误:</p> <pre><code>$ python foo/quux/corge.py Traceback (most recent call last): File "foo/quux/corge.py", line 1, in <module> from foo.quux.garply import * ModuleNotFoundError: No module named 'foo' </code></pre> <p>不管我当前的工作目录是什么,它总是给出这个错误</p> <pre><code>$ cd foo/quux/ $ python corge.py Traceback (most recent call last): File "corge.py", line 1, in <module> from foo.quux.garply import * ModuleNotFoundError: No module named 'foo' </code></pre> <p>在进行测试时,我使用PyCharm 2020.1创建了一个新的PyCharm项目,并实现了我描述的结构。令我惊讶的是,它与默认检测到的运行配置配合使用</p> <p>我尝试使用PyCharm自动创建的venv,但仍然不起作用。如果我直接复制/粘贴该命令并使用其CWD,则该命令不起作用。它不适用于PyCharm内置的终端。它<em>仅</em>与PyCharm Run按钮配合使用</p> <p>我的模块结构是否有问题?如果是这样的话,PyCharm可以做些什么来实现这一目标?如果不是,为什么它不在PyCharm之外工作</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>对<code>main.py</code>的调用是有效的,因为Python将在直接子目录中查找模块。任何其他位置中想要导入<code>foo.yadda.whatever</code>的任何模块都必须通过搜索您的<code>PYTHONPATH</code>来查找<code>foo</code>。因此,您需要将<code>foo</code>的父目录添加到<code>PYTHONPATH</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
3 回答
为什么我的神经网络模型的权重变化不大?
1 回答
为什么我的神经网络的成本不断增加?
10 回答
为什么我的神经网络的输入pickle文件是19GB?
8 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
5 回答
为什么我的神经网络训练这么慢?
7 回答
为什么我的神经网络输出错误?
10 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
5 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
6 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
2 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
4 回答
为什么我的积层回归器得分比它的组件差?
5 回答
为什么我的移动方法不起作用?
10 回答
为什么我的稀疏张量不能转换成张量
4 回答
为什么我的稀疏张量不能转换成张量?
8 回答
为什么我的程序“停止”了?
1 回答
为什么我的程序一直试图占用所有可用的CPU
5 回答
为什么我的程序不使用指定的代理
6 回答
为什么我的程序不工作(python帮助中的反向函数)?
3 回答
为什么我的程序不工作时,我使用多处理模块
3 回答