1
및 연산자 (등)을 포함하는 Python (2.7) 프로젝트가 있습니다."import numpy"가 내 패키지를로드하려고합니다.
나는 relative imports에 대해 읽었지만 아마도 이해하지 못했습니다. 나는 다음과 같은 디렉토리 구조를 가지고 :
는top-dir/
util/__init__.py (empty)
util/ua.py
util/ub.py
operator/__init__.py
...
test/test1.py
test1.py
파일
#!/usr/bin/env python2
from __future__ import absolute_import # removing this line dosn't change anything. It's default functionality in python2.7 I guess
import numpy as np
내가 내부 test1.py
test/
폴더를 실행할 때 그것은 괜찮습니다 포함되어 있습니다. 하지만 난 import numpy
내 자신의 util
패키지를 포함하고자하는 top-dir/
로 이동할 때 :
Traceback (most recent call last):
File "tests/laplace_2d_square.py", line 4, in <module>
import numpy as np
File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/usr/lib/python2.7/site-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/site-packages/numpy/core/__init__.py", line 45, in <module>
from numpy.testing import Tester
File "/usr/lib/python2.7/site-packages/numpy/testing/__init__.py", line 8, in <module>
from unittest import TestCase
File "/usr/lib/python2.7/unittest/__init__.py", line 58, in <module>
from .result import TestResult
File "/usr/lib/python2.7/unittest/result.py", line 9, in <module>
from . import util
File "/usr/lib/python2.7/unittest/util.py", line 2, in <module>
from collections import namedtuple, OrderedDict
File "/usr/lib/python2.7/collections.py", line 9, in <module>
from operator import itemgetter as _itemgetter, eq as _eq
ImportError: cannot import name itemgetter
성가신 라인 중 하나
from . import util
혹은
from operator import itemgetter as _itemgetter, eq as _eq
내가 무엇을 할 수 있습니까?
이 대답에 감사드립니다. 상대 경로를 구현하기 위해 노력한 결과 불행한 점을 피할 수 없습니다. – Sebastian