2014-11-29 4 views
2

저는 Windows 8.1, Python 3.4.2, Django 1.7을 실행하고 있습니다. 파일명 : python.exesys.path는 PYTHONPATH를 포함하지 않습니다 (django-admin startproject를 실행하려면 전체 경로를 입력해야합니다)

Windows 시스템 경로는 다음과 같습니다

C : lots_of_paths \; C : \ Python34; C : \ Python34 \ lib 디렉토리 \ 사이트 - 패키지 \ 장고-1.7.1-py3.4.egg \ 장고 \ 빈

(531 개 총 문자) 레지스트리

PYTHONPATH 변수이다

C : \ Python34 \ 리브; C : \ Python34 \ DLL을, C : \ P ython34 \ lib 디렉토리 \ 사이트 - 패키지 \ 장고-1.7.1-py3.4.egg \ 장고 \이 변수를 설정할 때 내가 장고 경로를 붙여

(96 개 문자의 총)

빈에 오타를 피하십시오. PYTHONPATH에서 메모장으로 복사하여 붙여 넣을 때 줄에 끊김이 없으므로 숨겨진 캐리지 리턴이없는 것처럼 보입니다.

cmd.exe을 시작하고 C : \ projects 디렉토리에서 작업하십시오.

나는 결과가 python -c "import sys;print(sys.path)"

를 입력하면 '\ Python34 \ lib 디렉토리의 \ 사이트 - 패키지 \ 장고-1.7.1-py3.4.egg :

[' ','C C : \ Python34 \ DLL ','C : \ WINDOWS \ S YSTEM32 \ python34.zip ','C : \ Python34 \ DLLs ','C : \ Python34 \ lib ','C : \ Python34 ' 사이트 패키지]

\ django \ bin이 클리핑됩니다. 경로에서. 내가 python django-admin.py startproject please_work

를 입력하면

... 그것은 인쇄 : python: can't open file 'django-admin.py': [Errno 2] No such file or directory

그 시스템 경로는 파이썬의 위치를 ​​표시하지만, 예상대로 PYTHONPATH은 작동하지 않습니다. 내가 django-admin startproject saving_time를 입력하면

난이 얻을 :

Usage: django-admin.py subcommand [options] [args] 

Options: 
    -v VERBOSITY, --verbosity=VERBOSITY 
         Verbosity level; 0=minimal output, 1=normal output, 
         2=verbose output, 3=very verbose output 

(etc. etc. etc.) 

를 ... django-admin.py 시스템 경로에서 발견 python.exe과 관련 통해 실행하지만, 인수가 전달되지 않은 것 같습니다 있도록. .py 접미사가 아래의 답변 중 하나와 같이 명령에 포함될 때 동일한 결과가 나타납니다. django-admin.py startproject testproject

입력하면 python C:\Python34\Lib\site-packages\Django-1.7.1-py3.4.egg\django\bin\django-admin.py startproject wasting_time이 올바르게 작동하지만 꼭 필요한 것은 아닙니다. 맞습니까?

+0

아마도 시스템 경로 상에'C : \ Python34 \ Scripts'에 'django-admin.bat' 어딘가가있을 것입니다. 매개 변수를 전달하지 않는 것으로 의심됩니다 - 이것은 콘텐츠 나 windows 8을 사용하면 해당 파일의 내용을 질문에 첨부 할 수 있습니다. –

+0

@Steve Barnes - 시스템에는 django-admin.bat가 없지만 C : \ Python34 \ Scripts에는 django-admin.exe가 있습니다. – codingcoding

+0

.py 접미사를 사용하면 .exe 또는 .bat 파일을 호출하지 않아도 결과가 변경되지 않습니다. 이것을 반영하기 위해 질문이 편집되었습니다. – codingcoding

답변

1

세계화의 가상 환경을 사용하는 것이 좋습니다 항상 작동하는 명령 인 경우 C:\Python34\Scripts에 dh-admin.bat라는 배치 파일을 작성하는 것이 좋습니다.이 명령은 항상 매개 변수가있는 전체 명령을 포함하거나 매개 변수를 사용할 수 있습니다. 입력 할 때 그런데

은, 지금까지의 내가 아는 한, :

python somefile.py [parameters] 

파이썬은 somefile.py 로컬 디렉토리 또는 가되지 검색 PYTHON_PATH 않는 절대 경로가 될 것으로 예상 그러나 입력하는 경우 :

python -m somemodule [command_from_module] [parameters] 

파이썬은 현재 디렉토리에서 먼저 PYTHON_PATH를 찾습니다.

다른 문제의 원인은 경로에 둘 이상의 django-admin이있는 것입니다. 경로의 앞부분에 있으면 우선 순위가 높아집니다. 유닉스/리눅스 시스템에는 어떤 명령어가 발견되는지 알려주는 which이라는 멋진 명령어가있다.

파이썬 구현은 매우 간단합니다.

+0

아름다운 솔루션. 이제 명령은 평소보다 짧아졌습니다. % 1을 사용하여 시스템 경로에서 dj-a.bat를 작성 했으므로'dj-a new_project'를 입력하면됩니다. 고맙습니다. – codingcoding

1

django-admin.평 startproject testproject 충분해야한다

django-admin.py가 SYSTEMPATH

에 상주하기 때문에 당신이 명령을 수행하기 때문에 대신 패키지

+0

나는 그것을 시험해 보았다. django-admin startproject testproject와 같은 결과를 얻었다. (.py 접미사 제외) 감사합니다. 나는 이것을 지적하기 위해 질문을 편집 할 것이다. – codingcoding

0

이 문제는 pip를 사용하지 않고 .egg 압축 파일에서 Django를 다운로드하여 설치 한 결과 발생했습니다.

소스로 어떻게 추적되는지는 확실하지 않지만 그게 문제였습니다. Django가 pip를 사용하여 설치되었을 때,이 문제는 사라졌습니다.

경고 :이 텍스트의 나머지 부분은 너무 조심스럽게 찡그린 stackoverflow의 감정적 인 인간 표현의 유형입니다. 공유 할 수는 없지만 저항 할 수 없습니다.

나는 해결책을 찾은 지 몇 달이되었고, 이제는이 스레드를 업데이트하는 것을 기억하고 있습니다.

상자 밖에서 생각하고 임시 해결책을 찾도록 가르쳐 주신 Steve Barnes에게 감사드립니다. Nishan-Paradox에 가상 환경 사용에 대한 제안을 추가해 주셔서 감사합니다. 이와 같은 제안은 비록 질문에 관련되지 않더라도 신입 사원에게 정말로 가치가 있습니다. 상식은 여전히 ​​유행입니다.

사이드 노트 : 나는 지금 종교적으로 핏과 가상 환경을 사용하고 있으며 인생은 훨씬 더 좋습니다 :) 이것을 읽을 수있는 다른 초보자에게 : 도구를 사용하여 다른 많은 사람들이 보는 경우, 전에 결정 해보십시오. 당신은 그것을 사용하고 싶지 않다. Google 검색은 결정을 내리기에 충분한 정보를 제공하지는 않지만 경험을 제공합니다. 새로운 것을 시도하고 그것을 도구 상자에 추가하게되어 기쁩니다.

관련 문제