2016-08-02 8 views
1

pkg_resources를 가져올 수 없습니다. 내가 시도 할 때마다 그것은ImportError : 'pkg_resources.extern.six.moves'라는 모듈이 없습니다. 'pkg_resources.extern.six'이 (가) 패키지가 아닙니다.

Python 3.5.2 (default, Jun 28 2016, 08:46:01) 
[GCC 6.1.1 20160602] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pkg_resources 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 47, in <module> 
     from pkg_resources.extern.six.moves import urllib, map, filter 
ImportError: No module named 'pkg_resources.extern.six.moves'; 'pkg_resources.extern.six' is not a package 

가 (이 더 여섯 개 패키지 없음) /usr/lib/python3.5/site-packages/pkg_resources/extern를 참조 from pkg_resources 보여줍니다. 내가 잘못하고있는 것을 지적 할 수 있니? 내가 아치 리눅스를 사용하고

, 파이썬 3.5.2

+0

당신이 당신의 코드를 게시하시기 바랍니다 수 있습니다 ... 내가 문제가 가져 오는 것 같아요. 그게 나를 위해 잘 작동하기 때문에. –

+0

@RohitSalunke 죄송합니다. 나는 어떤 코드도 가지고 있지 않다. 파이썬 3 콘솔에서 import pkg_resources를 사용할 수 없습니다. –

+0

ok python lib에 문제가있을 수 있습니다. 'sudo apt-get install --reinstall python-pkg-resources'를 실행 해보십시오. 내 경우에는'import pkg_resources'가 제대로 작동하고 있습니다. –

답변

2

음, 거기에 더 six 패키지가 없습니다. 그것은 따라서 기대할 수 setuptools의 일부입니다,

names = 'packaging', 'pyparsing', 'six' 
VendorImporter(__name__, names).install() 

그러나 VendorImporterpython의 다소 드문 작품이다 : six은 단지 이름은 다음과 같이 보이는, 정확히하기 위해

/usr/lib/python3.5/site-packages/pkg_resources/extern/__init__.py 

에 정의되어 있습니다 , 나는 생각한다. moves 괜찮아 포함 않습니다

/usr/lib/python3.5/site-packages/six.py 

: 간단하게 말하면 그것은에서 가져 오기 수행

_MovedItems._moved_attributes = _moved_attributes 

moves = _MovedItems(__name__ + ".moves") 
_importer._add_module(moves, "moves") 
이제

가 보자 어떻게 그와 pacman 거래 :

# pacman -Qo /usr/lib/python3.5/site-packages/pkg_resources/extern/__init__.py 
/usr/lib/python3.5/site-packages/pkg_resources/extern/__init__.py is owned by python-setuptools 1:25.1.3-1 

오른쪽, extern/__init__.pysetuptools으로 소유하고 있습니다. pected. 이제

# pacman -Qo /usr/lib/python3.5/site-packages/six.py 
/usr/lib/python3.5/site-packages/six.py is owned by python-six 1.10.0-2 

우리는 sixpython-six의 일부임을 참조하십시오.

따라서 python-setuptoolspython-six에 종속됨을 발견했습니다. 그러므로 python-setuptools dependency chainpython-six이 아니기 때문에 패키지 관리자 (때때로 pacman 일뿐 만 아니라 모든 패키지 관리자가 종속성 체인에 문제가 있음)가 발생하기 때문에 올바르지 않습니다. 손의 문제에 대한

, 당신은 수동으로 python-six를 설치해야하고, python-setuptools는 예상대로 작동합니다

pacman -S python-six