导入 类 - Python
Importing classes - Python
早上好,我遇到了以下问题。准确地说,我有以下设置:
Project_Name
|
|--> __init__.py
|
|--> Tool1
| |
| |--> Object1.py
| |
| |--> __init__.py
|
|--> Tool2
|
|--> Object2.py
|
|--> __init__.py
其中 Project_name,Tool1 和 Tool2 是文件夹。 Object2 包含一个名为 'House' 的 class。如何在 Object1 中使用 class 'House'?我尝试了以下方法:
from Tool2.Object2 import House
但我收到错误消息“没有名为 'Tool2' 的模块。
我做错了什么?所有 init.py 文件都是空的,我应该更改它吗?
您需要将 PYTHONPATH
导出到您的 Project_Name
,以便解释器知道要查找的特定文件夹。
export PYTHONPATH=path/to/your/project
例如:
object1.py
from tool2.object2 import House
house = House()
house.print_message("Hello World!!!")
object2.py
class House(object):
def __init__(self):
pass
def print_message(self, text):
print(text)
导出前后的输出PYTHONPATH
$ python tool1/object1.py
Traceback (most recent call last):
File "tool1/object1.py", line 2, in <module>
from tool2.object2 import House
ImportError: No module named tool2.object2
$ pwd
/Users/.../Whosebug
$ export PYTHONPATH=/Users/.../Whosebug
$ python tool1/object1.py
Hello World!!!
$ python object1.py
Hello World!!!
1
如果您使用的是 VS 代码,最简单的解决方法是启动正在执行的脚本,如下所示。
import sys
sys.path.append('/PATH/TO/Project_Name')
import Tool1.Object1
...
2
或者,您可以将环境变量PYTHONPATH
添加到settings.json
(可以找到ctrl + shift + P
然后键入settings.json
)
"terminal.integrated.env.linux": {
"PYTHONPATH": "/PATH/TO/Project_Name/"
}
这样,你就可以
import Tool1.Object1
sys.path
和 PYTHONPATH
将为您做同样的事情。
早上好,我遇到了以下问题。准确地说,我有以下设置:
Project_Name
|
|--> __init__.py
|
|--> Tool1
| |
| |--> Object1.py
| |
| |--> __init__.py
|
|--> Tool2
|
|--> Object2.py
|
|--> __init__.py
其中 Project_name,Tool1 和 Tool2 是文件夹。 Object2 包含一个名为 'House' 的 class。如何在 Object1 中使用 class 'House'?我尝试了以下方法:
from Tool2.Object2 import House
但我收到错误消息“没有名为 'Tool2' 的模块。
我做错了什么?所有 init.py 文件都是空的,我应该更改它吗?
您需要将 PYTHONPATH
导出到您的 Project_Name
,以便解释器知道要查找的特定文件夹。
export PYTHONPATH=path/to/your/project
例如:
object1.py
from tool2.object2 import House
house = House()
house.print_message("Hello World!!!")
object2.py
class House(object):
def __init__(self):
pass
def print_message(self, text):
print(text)
导出前后的输出PYTHONPATH
$ python tool1/object1.py
Traceback (most recent call last):
File "tool1/object1.py", line 2, in <module>
from tool2.object2 import House
ImportError: No module named tool2.object2
$ pwd
/Users/.../Whosebug
$ export PYTHONPATH=/Users/.../Whosebug
$ python tool1/object1.py
Hello World!!!
$ python object1.py
Hello World!!!
1
如果您使用的是 VS 代码,最简单的解决方法是启动正在执行的脚本,如下所示。
import sys
sys.path.append('/PATH/TO/Project_Name')
import Tool1.Object1
...
2
或者,您可以将环境变量PYTHONPATH
添加到settings.json
(可以找到ctrl + shift + P
然后键入settings.json
)
"terminal.integrated.env.linux": {
"PYTHONPATH": "/PATH/TO/Project_Name/"
}
这样,你就可以
import Tool1.Object1
sys.path
和 PYTHONPATH
将为您做同样的事情。