Jea*_*bre 8 python import module python-2.7 python-3.x
code_parsing使用Python 3.2 导入我的包时遇到错误.
目录code_parsing位于PYTHONPATH并包含以下文件(其他一些文件,但在此处为irrelvant)
code_parsing/__init__.py
code_parsing/ada.py
Run Code Online (Sandbox Code Playgroud)
__init__.py 包含:
from ada import *
Run Code Online (Sandbox Code Playgroud)
导入我的模块时出现此错误:
>>> import code_parsing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "K:\CODE\pythonlib\code_parsing\__init__.py", line 1, in <module>
from ada import *
ImportError: No module named ada
Run Code Online (Sandbox Code Playgroud)
使用相同环境的同一台机器上的python 2.7,它可以正常工作.
一些准确性:
directory/__init__.py结构在同一目录中导入工作正常.有任何想法吗?
Mar*_*ers 10
Python 3使用绝对导入.任何非限定名称都将作为顶级模块导入.
您没有顶级ada模块.你有一个code_parsing.ada模块,所以以下工作:
from code_parsing.ada import *
Run Code Online (Sandbox Code Playgroud)
或使用明确的"本地包"参考:
from .ada import *
Run Code Online (Sandbox Code Playgroud)
您可以在Python 2中强制执行相同的行为:
from __future__ import absolute_import
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅PEP 328 - 导入:多行和绝对/相对.
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |