ImportError : Windows에 site라는 모듈이 없습니다.


101

처음으로 Python을 설치하려고합니다. Python 웹 사이트에서 다음 설치 프로그램을 다운로드했습니다. Python 2.7.1 Windows Installer (Windows 바이너리-소스는 포함되지 않음) . 그런 다음 설치 프로그램을 실행하고 '모든 사용자'를 선택했는데 모두 괜찮 았습니다. 기본 위치에 Python을 설치했습니다.

C:\Python27

다음으로 Python이 올바르게 설치되었는지 테스트하기 위해 Python 디렉토리로 이동하여 Windows cmd 프롬프트에서 "python"명령을 실행했습니다. 다음 오류가 반환됩니다.

ImportError : site라는 모듈이 없습니다.

'python -v'를 수행하면 다음과 같이 표시됩니다.

#installing zipimport hook
import zipimport # builtin
#installed zipimport hook
#ImportError: No module named site #clear builtin ._
#clear sys.path #clear sys.argv
#clear sys.ps1 #clear sys.ps2
#clear sys.exitfunc #clear sys.exc_type
#clear sys.exc_value #clear sys.exc_traceback
#clear sys.last_type #clear sys.last_value
#clear sys.last_traceback #clear sys.path_hooks
#clear sys.path_importer_cache #clear sys.meta_path
#clear sys.flags #clear sys.float_info
#restore sys.stdin # # restore sys.stdout
#restore sys.stderr #cleanup main
#cleanup [1 ] zipimport #cleanup [1] 신호
#cleanup[1 ] exceptions #cleanup [1] _warnings
#cleanup sys #cleanup builtin
#cleanup ints: 6 unfreed ints #cleanup floats

내가 dir을 할 때 C:\Python27\Lib\site.py*다음을 얻습니다.

C : \ Users \ Mimminito> dir C : \ Python27 \ Lib \ site.py *
C 드라이브의 볼륨에는 레이블이 없습니다.
볼륨 일련 번호는 DAB9-A863입니다.

C : \ Python27 \ Lib의 디렉토리

13/11/2010 20:08 20,389 site.py
1 File (s) 20,389 bytes
0 Dir (s) 694,910,976 bytes free

어떤 아이디어?


기본 설치 위치를 변경하지 않았다고 가정 할 때 C : /Python27/Lib/site.py 파일이 컴퓨터에 있습니까?
Tim W.

예, site.py는 해당 폴더에 있습니다
Mimminito 2011

7
@Mimminito : 왜 당신이 9 개월 동안 사라졌고 내 대답을 받아들 였는지 (대단히) 왜 근본적인 문제인지 알게되었는지 궁금합니다.
John Machin

현재이 문제가 발생합니다. 이유를 모르겠고 해결책을 찾기 위해 인터넷을 샅샅이 뒤졌습니다. ImportError : 내가 파이썬을 설치하는 방법과 PATH에 넣은 내용에 관계없이 사이트라는 모듈이 없습니다. 파이썬이 실제로 site.py를로드하는 방법을 알고 싶습니다. 분명히 이것은 상대 / 절대 경로 문제입니다. 그리고 어둠 속에서 무작위로 찌르지 않고 직접 파이썬의 경로를 구성 할 수 있다면.
CMCDragonkai

3
나는이 문제가 있었다. 나는 유닉스와 같은 경로를 가진 Cygwin에서 PYTHONPATH. 나는 그것을 Windows 스타일 경로로 변환했고 export PYTHONPATH=$(cygpath -w $PYTHONPATH)잘 작동합니다. 같은 문제로이 페이지를 방문 할 수있는 다른 사람들을 돕기 위해이 메모를 추가합니다.
robert

답변:


145

나는 거의 하루 동안이 문제를 조사해 왔고 마침내 돌파구를 찾았습니다. 이 시도:

  1. PYTHONPATH / PYTHONHOME 변수 설정

    시작 메뉴 에서 컴퓨터 아이콘 을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동 합니다 . 왼쪽 탭에서 고급 시스템 설정으로 이동합니다 . 창이 나타나면 고급 탭으로 이동 한 다음 하단에서 환경 변수를 클릭 합니다. 사용자 변수 목록을 클릭하고 Python 입력을 시작하고 시스템 변수에 대해 반복 하여 PYTHONPATH 또는 PYTHONHOME에 대해 잘못 설정된 변수가 없는지 확인합니다. 다음으로, 새 변수를 추가합니다 (사용자에게도 작동 할 수 있지만 사용자가 아닌 시스템에서 수행했습니다) : PYTHONPATH, C : \ Python27 \ Lib로 설정 합니다. , C : \ Python27로 설정합니다 .PYTHONHOME

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


7
그리고 이것이 작동하려면 % PYTHONHOME %을 경로 변수에 추가해야합니다.
Rishi 2011 년

7
아하! 이것이 질문에 대한 답이되어야합니다. 나를 위해, 그것은 잘못된 경로로 설정된 PYTHONHOME 변수였습니다 ... 그것을 제거하고 이제 작동합니다! Steam의 Alien Swarm 모드가 추가 한 것 같습니다.
Timotei

2
PYTHONPATH/PYTHONHOMEPython site.pyLib폴더 에있는 모듈 을 찾기 위해 변수를 설정하지 않아도됩니다 . 이 답변은 기껏해야 해결 방법입니다.
Piotr Dobrogost

3
환경 변수는 악몽입니다. 나는 리눅스를 비난한다.
Damien

1
두 개의 Python 버전이 동시에 설치되지 않았는지 확인합니다. 예를 들어 Python 2.7이 % PATH %에서 첫 번째이고 Python3이 PYTHONHOME으로 설정된 경우 인터프리터를 망칠 수 있습니다.
LM.Croisez

41

빠른 솔루션 : PYTHONHOME 및 PYTHONPATH를 설정하고 PATH에 PYTHONHOME을 포함합니다.

예를 들어 c : \ Python27에 설치 한 경우

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%

PYTHON * 변수에 후행 '\'이 없는지 확인하십시오.


3
Windows 10의 경우 현재 다음과 같습니다. setx PYTHONHOME "C : \ Python27"setx PYTHONPATH "C : \ Python27 \ Lib"setx PATH "% PYTHONHOME %; % PATH %"
Vesanto 2015 년

이것은 Python 3.6이 설치된 Windows 7에서 잘 작동했습니다.
Thirst for Knowledge

12

Windows Python과 Cygwin Python을 모두 설치하고 Cygwin에서 Cygwin Python을 실행하려고 시도한 후이 문제가 발생했습니다. exportPYTHONHOME = / usr / 및 PYTHONPATH = / usr / lib / python2.7을 사용 하여 해결했습니다.


12

PYTHONHOME 환경 변수가 올바르게 설정되었는지 확인하십시오. PYTHONHOME이 잘못된 위치 또는 실행하려는 다른 Python 설치를 가리키는 경우이 오류가 발생합니다.

이 시도:

C:\>set PYTHONHOME=C:\Python27
C:\>python

사용하다

setx PYTHONHOME C:\Python27

후속 명령 프롬프트에 대해 영구적으로 설정하려면


6
setx PYTHONHOME C:\Python27후속 명령 프롬프트에 대해 영구적으로 설정하는 데 사용 합니다. 그렇지 않으면 매번 set 명령을 사용해야합니다.
Iain Samuel McLean 장로

5

찾아 site.py 과 그것의 경로를 추가 PYTHONPATH . 이것은 당신의 문제를 해결할 것입니다.


4

Cygwin에서 Windows Python을 실행하려고합니까? 나는 같은 문제가 있습니다. Cygwin의 Python이 사이트를 가져 오지 못했습니다. Cmd의 Python이 작동합니다.

PYTHONHOME 및 PYTHONPATH를 실행 cygwin -aw하여 Windows 경로를 만들어야하는 것 같습니다. 또한 파이썬은 잘못된 경로를 사용하는 것 같습니다.

작동하려면 cygwin을 통해 파이썬을 설치해야한다고 생각합니다.


1
안녕하세요 이것은 여전히 ​​당신에게 문제가 아니지만 다른 사람들 이이 문제를 겪을 경우 주요 질문에 대한 내 의견을 참조하십시오. 기본적으로 PYTHONPATHWindows 스타일 경로 로 변환해야합니다 export PYTHONPATH=$(cygpath -w $PYTHONPATH).
robert

4

Windows 10 (@slckin 응답에 대한 후속 조치)의 경우 다음을 사용하여 명령 줄을 통해 설정할 수 있습니다.

setx PYTHONHOME "C:\Python27"
setx PYTHONPATH "C:\Python27\Lib"
setx PATH "%PYTHONHOME%;%PATH%"

6
나는 결코사용자와 시스템 경로의 합으로 사용자를 setx PATH "%PYTHONHOME%;%PATH%"설정 하기 때문에 사용PATH 입니다. 로컬 (를 사용 set) 은 괜찮지 만 사용 하지는 않습니다.setx
Jean-François Fabre

4

제 경우 문제는 PATH 설정으로 인해 Python \ Lib의 파일보다 일찍 해결 된 다른 site.py 파일이었습니다.

환경 : Windows 10 Pro, Python27.

내 데스크톱에는 C : \ Program Files (x86) \ pgAdmin \ venv \ Lib \ site.py 파일이있는 pgAdmin이 설치되어 있습니다. PATH 환경 변수는 Python보다 이전에 pdAdmin의 홈을 가지고 있었기 때문에 (분명히 처음에는 나쁜 생각 임) pgAdmin의 site.py가 먼저 발견되었습니다.

이 문제를 해결하기 위해해야 ​​할 일은 PATH에서 pgAdmin의 집을 Python보다 늦게 옮기는 것뿐이었습니다.


3

저에게는 python 27과 python 3.3의 두 가지 버전의 Python이 설치되어 있기 때문에 발생했습니다. 이 두 폴더 모두 경로 변수가 설정되어 있으므로이 문제가 발생했습니다. 이 문제를 해결하기 위해 python27을 임시 폴더로 옮겼습니다. 따라서 문제가 될 수 있으므로 PATH, PYTHONHOME과 같은 환경 변수를 확인하십시오. 감사.


1

누군가가 관리자가 아닌 사용자에게 여전히 작동하지 않는다는 것을 알게 될 경우 :

예시 오류 :

ImportError: No module named iso8601

easy_install에 대해 '--always-unzip'옵션을 설정해야합니다.

easy_install --always-unzip python-keystoneclient

계란 파일의 압축을 풀고 가져 오기를 통해 em을 찾을 수 있습니다.


1

ImportError: No module named site파이썬 2.7.11을 설치하는 동안 같은 문제를 겪었습니다.

처음에는 Python2.5가 있었고 PYTHONHOME 경로는 Python2.5로 설정되었습니다. 나는 그것을로 이름을 바꾸고 C:\Python27\문제를 해결했습니다.



0

나는 slckin의 대답에 투표했습니다. 내 문제는 내가 사려 깊고 경로 주위에 큰 따옴표를 추가했다는 것입니다. PYTHONHOME, PYTHONPATH 및 PATH의 세 변수 모두에서 큰 따옴표를 제거했습니다. 이것은 다른 도구에 대한 환경을 설정하기 위해 cmd 또는 bat 파일에있었습니다. 그러나 큰 따옴표는 아이콘 설정에서 유용 할 수 있습니다. 타자

세트

경로에서 따옴표가 예상대로 떨어지지 않은 것으로 나타났습니다. 또한 길이가 256 자 미만이되도록 PATH를 줄였습니다.


-1

Python에 크게 의존하는 애플리케이션이 있으며 새 버전이 출시 될 때 Python 2.7.x를 최신 상태로 유지했습니다. 동일한 " No module named site"오류가 발생 했을 때 2.7.11까지는 모든 것이 괜찮 았습니다 . PYTHONHOME을로 설정했으며 c:\Python27작동 중입니다. 그러나 이전 릴리스가 아니었을 때 이것이 왜 지금 필요한지 미스터리가 남아 있습니다. 그리고 필요한 경우 설치 프로그램이이 변수를 설정하지 않는 이유는 무엇입니까?


-1

나는 같은 문제가 있었다. 내 해결책은 Python 설치를 복구하는 것이 었습니다. (새로 설치 되었기 때문에 예상하지 못했지만 이제 해결되었습니다.)

복구하려면 (Windows 7) :

  1. 제어판-> 프로그램-> 프로그램 및 기능으로 이동하십시오.
  2. 설치된 Python 버전을 클릭 한 다음 제거 / 변경을 누릅니다.
  3. 지침에 따라 설치를 복구하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.