什么是__init__.py
一个Python源目录?
我在使用 Python 单元测试时遇到了一个奇怪的错误。我的项目中有两个文件夹:
project
code
__init__.py (empty)
app.py (defines my App class)
test
test.py (contains my unit tests)
Run Code Online (Sandbox Code Playgroud)
测试.py是:
import os, sys, unittest
sys.path.insert(1, os.path.join(sys.path[0],'..'))
from code.app import App
class test_func1(unittest.TestCase):
...
Run Code Online (Sandbox Code Playgroud)
当我运行 test.py 时,我收到消息:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...test.py, line 5, in <module>
from code.app import App
ImportError: No …
Run Code Online (Sandbox Code Playgroud) 我最近使用pip install安装了opencv软件包,并编写了一个小代码对其进行测试(cvtest.py)。该代码通过python空闲外壳运行,但是尽管命令提示符给出了错误,但仍在运行它
Error while finding module specification for 'cvtest.py' (ModuleNotFoundError: __path__ attribute not found on 'cvtest' while trying to find 'cvtest.py')
Run Code Online (Sandbox Code Playgroud)
我尝试卸载并重新安装python和软件包。使用查找系统路径python -m site
会得到这些结果。我是笔记本电脑的唯一用户。
sys.path = [
'C:\\Users\\Kareem Mostafa\\Desktop\\Assignments\\computer vision',
'G:\\Python37\\python37.zip',
'G:\\Python37\\DLLs',
'G:\\Python37\\lib',
'G:\\Python37',
'G:\\Python37\\lib\\site-packages',
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码
import cv2
x=cv2.imread('backpack for sale.jpg',0)
cv2.imshow('x',x)
Run Code Online (Sandbox Code Playgroud)
更新:问题是我所有的py文件是否都需要导入。显然,python正在寻找_init_.py
所有文件,就好像它们是软件包一样。知道发生了什么吗?