[python] 확실히 설치된 모듈을 가져올 수 없습니다

mechanize를 설치 한 후 가져올 수없는 것 같습니다.

pip, easy_install 및 https://github.com/abielr/mechanizepython setup.py install 에서 설치를 시도했습니다 . 파이썬 인터랙티브에 들어갈 때마다 다음과 같이 얻을 수 있습니다.

Python 2.7.3 (default, Aug  1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mechanize
>>> 

이전에 실행 한 설치에서 성공적으로 완료된 것으로보고되었으므로 가져 오기가 작동 할 것으로 예상합니다. 이 오류의 원인은 무엇입니까?



답변

제 경우에는 권한 문제입니다. 패키지는 루트 rw 권한으로 만 설치되었으며 다른 사용자는 rw를 사용할 수 없습니다!


답변

같은 문제가 발생했습니다. with with 스크립트가 발생 import colorama하고 ImportError가 발생했지만 sudo pip install colorama“package already installed”라는 메시지가 표시되었습니다.

내 수정 : sudo없이 pip 실행 하십시오 pip install colorama. 그런 다음 pip는 설치, 설치 및 스크립트 실행이 필요하다는 데 동의했습니다.

내 환경은 Ubuntu 14.04 32 비트입니다. 나는 virtualenv를 활성화하기 전후에 이것을 보았다고 생각합니다.

업데이트 : 더 좋습니다 python -m pip install <package>. 이것의 장점은 패키지를 원하는 특정 버전의 파이썬을 실행하기 때문에 pip는 패키지를 “올바른”파이썬에 분명히 설치한다는 것입니다. 다시 하지 않는 당신은 (원치 않는) 루트 권한으로 가능성이 올바른 위치에서 패키지를 얻을,하지만 …이 경우는 sudo를 사용합니다.


답변

파이썬 경로 문제입니다.

제 경우에는 다음에 파이썬이 설치되어 있습니다.

/Library/Frameworks/Python.framework/Versions/2.6/bin/python,

python2.6에는 사이트 패키지 디렉토리가 없습니다.

pip로 설치 한 패키지 (SOAPpy)가 있습니다

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

그리고 사이트 패키지는 파이썬 경로에 있지 않습니다 .PYTHONPATH에 사이트 패키지를 영구적으로 추가하기 만하면됩니다.

  1. 터미널을여십시오
  2. open .bash_profile을 입력하십시오.
  3. 나타나는 텍스트 파일에서 끝에 다음 줄을 추가하십시오.

    내보내기 PYTHONPATH = $ PYTHONPATH : /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

  4. 파일을 저장하고 터미널을 다시 시작하면 완료

답변

파이썬 가져 오기 메커니즘은 실제로 작동합니다.

  1. 귀하의 PYTHONPATH가 잘못되었습니다.
  2. 라이브러리가 생각한 곳에 설치되지 않았습니다
  3. 이 이름을 마스킹하는 동일한 이름의 다른 라이브러리가 있습니다.

답변

젊은 힙턴 인턴 이 모듈 디렉토리 내부의 “python setup.py install”에 대한 비밀을 밝힐 때까지 모니터에 대해 머리를 두드리고 있습니다.

어떤 이유로 든 거기에서 설치 프로그램을 실행하면 작동합니다.

명확하게 말하면 모듈 이름이 “foo”인 경우 :

[burnc7 (2016-06-21 15:28:49) git]# ls -l
total 1
drwxr-xr-x 7 root root  118 Jun 21 15:22 foo
[burnc7 (2016-06-21 15:28:51) git]# cd foo
[burnc7 (2016-06-21 15:28:53) foo]# ls -l
total 2
drwxr-xr-x 2 root root   93 Jun 21 15:23 foo
-rw-r--r-- 1 root root  416 May 31 12:26 setup.py
[burnc7 (2016-06-21 15:28:54) foo]# python setup.py install
<--snip-->

다른 디렉토리에서 경로를 호출하여 setup.py를 실행하려고하면 설치가 중단됩니다.

작동하지 않습니다 :

python /root/foo/setup.py install

작동합니다 :

cd /root/foo
python setup.py install


답변

결합 된 접근 방식 으로이 문제를 해결할 수있었습니다. 먼저 Chris의 조언에 따라 명령 줄을 열고 ‘pip show packagename’을 입력했습니다. 설치된 패키지의 위치가 제공되었습니다.

다음으로 파이썬을 열고 ‘import sys’를 입력 한 다음 ‘sys.path’를 입력하여 파이썬이 가져온 패키지를 검색하는 위치를 보여줍니다. 아아, 첫 번째 단계에서 표시된 위치가 목록에 없었습니다.

마지막 단계에서는 ‘sys.path.append (‘package_location_seen_in_step_1 ‘)을 입력했습니다. 선택적으로 2 단계를 반복하여 현재 위치가 목록에 있는지 확인할 수 있습니다.

테스트 단계, 패키지를 다시 가져 오십시오. 작동합니다.

단점은? 일시적이므로 매번 목록에 추가해야합니다.


답변

통해 설치 한 키링을 사용하는 동안이 문제가 발생했습니다 sudo pip install keyring. 다른 답변에서 언급했듯이 제 경우에는 권한 문제입니다.

나를 위해 일한 것 :

  1. 제거 된 키링 :
    • sudo pip uninstall keyring
  2. sudo의 -H옵션을 사용하고 키 링을 다시 설치했습니다.
    • sudo -H pip install keyring

도움이 되었기를 바랍니다.