一些 python moduls/functions/variables 之间的导入错误
Import errors between some python moduls/functions/variables
这段代码在周五运行没有问题,并且仍然 运行 在同事的笔记本电脑上运行,但我不能再 运行 它了。
正如您在屏幕截图中看到的,我的编辑器不再找到一些模块,并且出现了 pylint 错误 "E0401: Unable to import"。
丢失的文件存在于文件夹设置中,如您在左侧的资源管理器中所见。
今天我 deactivated/activated pylint,重新安装了 vs code 和 python,将 init.py 添加到设置文件夹,在 eclipse 中尝试了相同的代码,修改 Path 环境变量并创建 PYTHONPATH 环境变量。所有这一切都没有成功:/
我很感激每一个提示,让我解决了这个问题。
错误输出为文本:
Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
PS C:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev> & C:/Python27/python.exe c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\__TC__Template.py
Traceback (most recent call last):
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\__TC__Template.py", line 36, in <module>
from Lib.IHR_EthApi import EthApi as ETH
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\Lib\IHR_EthApi.py", line 6, in <module>
from IHR_GeneralApi import GeneralApi as SYS
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\Lib\IHR_GeneralApi.py", line 4, in <module>
import IHR_TestSuiteConfig.py
ImportError: No module named IHR_TestSuiteConfig.py
PS C:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev>
在您的代码中有一行:
import IHR_TestSuiteConfig.py
那是行不通的,因为您没有指定要按文件名导入的模块,而是按模块名称,例如:
import IHR_TestSuiteConfig
但是看看你的屏幕截图,你有一个更大的问题,即代码保存在 Settings
目录中,与包含你要导入的代码的 Lib
目录处于同一级别。
您需要将所有代码锚定到一个级别,这样您就可以:
from ..Settings import IHR_TestSuiteConfig
或者你需要操纵你的 PYTHONPATH
环境变量将 Settings
直接放到 sys.path
上(在 VS Code 中你可以创建一个 .env
文件来做到这一点,但它不会从终端影响 运行 Python,仅当 VS Code 运行时,例如 Pylint)。
这段代码在周五运行没有问题,并且仍然 运行 在同事的笔记本电脑上运行,但我不能再 运行 它了。 正如您在屏幕截图中看到的,我的编辑器不再找到一些模块,并且出现了 pylint 错误 "E0401: Unable to import"。 丢失的文件存在于文件夹设置中,如您在左侧的资源管理器中所见。
今天我 deactivated/activated pylint,重新安装了 vs code 和 python,将 init.py 添加到设置文件夹,在 eclipse 中尝试了相同的代码,修改 Path 环境变量并创建 PYTHONPATH 环境变量。所有这一切都没有成功:/
我很感激每一个提示,让我解决了这个问题。
错误输出为文本:
Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
PS C:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev> & C:/Python27/python.exe c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\__TC__Template.py
Traceback (most recent call last):
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\__TC__Template.py", line 36, in <module>
from Lib.IHR_EthApi import EthApi as ETH
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\Lib\IHR_EthApi.py", line 6, in <module>
from IHR_GeneralApi import GeneralApi as SYS
File "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\Lib\IHR_GeneralApi.py", line 4, in <module>
import IHR_TestSuiteConfig.py
ImportError: No module named IHR_TestSuiteConfig.py
PS C:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev>
在您的代码中有一行:
import IHR_TestSuiteConfig.py
那是行不通的,因为您没有指定要按文件名导入的模块,而是按模块名称,例如:
import IHR_TestSuiteConfig
但是看看你的屏幕截图,你有一个更大的问题,即代码保存在 Settings
目录中,与包含你要导入的代码的 Lib
目录处于同一级别。
您需要将所有代码锚定到一个级别,这样您就可以:
from ..Settings import IHR_TestSuiteConfig
或者你需要操纵你的 PYTHONPATH
环境变量将 Settings
直接放到 sys.path
上(在 VS Code 中你可以创建一个 .env
文件来做到这一点,但它不会从终端影响 运行 Python,仅当 VS Code 运行时,例如 Pylint)。