Python 导入错误-无法从y导入名称x
在python模块上导入类时遇到问题 以下是我的目录结构:Python 导入错误-无法从y导入名称x,python,class,import,Python,Class,Import,在python模块上导入类时遇到问题 以下是我的目录结构: TestMap +lib +vendors +testing - _init.py - products.py - _init_py. - notifications.py - scraper.py - utils.py -main.py 我从scraper.py开始,尝试在products.py上获取函数,它是vendors->testing->
TestMap
+lib
+vendors
+testing
- _init.py
- products.py
- _init_py.
- notifications.py
- scraper.py
- utils.py
-main.py
我从scraper.py
开始,尝试在products.py上获取函数,它是vendors->testing->products.py
from .vendors.testing.products import TestProducts
我想做的是:
ImportError: cannot import name 'TestProducts' from 'lib.vendors.testing.products' (C:\Users\Annoynmous\Desktop\TestMap\lib\vendors\testing\products.py)
在products.py中,类名是:
class TestProducts():
而且我无法掌握我到底做错了什么?使用
pythonpath
在项目中设置源目录:
export PATH=$PATH:/home/user/somepath/TestMap
并从该源路径导入模块
from lib.vendors.testing.products import TestProducts
或者使用
\uuuu init\uuuuuuuuupy.py
文件定义内部模块目录,并使用直接模块名导入模块。使用pythonpath
在项目中设置源目录:
export PATH=$PATH:/home/user/somepath/TestMap
并从该源路径导入模块
from lib.vendors.testing.products import TestProducts
或者使用
\uuuu init\uuuuuuuuuuuuuuuuuuuupy
文件定义内部模块目录,并使用直接模块名导入模块。在scraper.py中尝试此操作
from vendors.testing.products import TestProducts
或
使用
self.product
访问类scraper中TestProducts的任何功能。在scraper.py中尝试此操作
from vendors.testing.products import TestProducts
或
使用
self.product
访问类刮板中TestProducts的任何功能。嘿,我不确定在哪里添加第一行export
?它是在.py文件中还是在.py文件中?但是,难道不可能按照我尝试的方式调用函数吗?在您的术语中,它将定义pythonpath
,您将能够从该路径导入模块。嘿,我不确定在哪里添加第一行export
?它是在.py文件中还是在.py文件中?但是,难道不可能以我尝试的方式调用函数吗?在您的术语中,它将定义pythonpath
,您将能够从该路径导入模块。第一行确实指出modulenofounderror:没有名为“vendors”的模块打印(sys.path)
检查目录路径是否包含在内。如果不sys.path.insert(0,“path/to/lib directory/”)
Doing sys.path,我可以看到文件夹的开头。在本例中,只需C://Users//hattermous//Desktop//TestMap,然后是不同的python文件,这意味着您需要从lib导入,即import lib.vendors.testing.products as product
Ohhh当您编程太多时会发生什么:(但它可以工作!)第一行确实指出,ModuleNotFoundError:没有名为“vendors”的模块
print(sys.path)
来检查目录路径是否包含在内。如果不sys.path.insert(0,“path/to/lib directory/”)
Doing sys.path,我可以看到文件夹的开头。在本例中,只需C://Users//hattermous//Desktop//TestMap,然后是不同的python文件,这意味着您需要从lib导入,即import lib.vendors.testing.products as product
Ohhh当您编程太多时会发生什么:(但它可以工作!)