2017-10-23 1 views
-1

서버에 Django (v1.11.6) 앱이 있고 Python v2.7을 사용하고 있습니다. 내가 sudo service apache2 다시 시작 실행할 때 (virtualenv 사용하지 않는) 지금 Python 3.5을 사용하고서버의 django 앱 : 모듈 이름이 'django.urls'가 아닙니다.

그러나 나는 내 브라우저에서 다음과 같은 오류가 발생합니다 : 내가 python3 manage.py runserver을 실행하면

ImportError at/
No module named 'django.urls' 
Request Method: GET 
Request URL: https://dev.ga.coach/ 
Django Version: 1.8.7 
Exception Type: ImportError 
Exception Value:  
No module named 'django.urls' 

Python Executable: /usr/bin/python3 
Python Version: 3.5.2 

내가 오류를 얻을 수 없습니다. 내가 sudo pip freeze | grep -i 'django'을 실행하면

나는 다음과 같은 얻을 :

Django==1.11.6 
django-allauth==0.33.0 
django-filter==1.0.4 
django-rest-auth==0.9.1 
djangorestframework==3.6.3 
djangorestframework-jwt==1.11.0 
+0

django를 실행할 때 다른 환경을 사용하고 있습니다 (실제로 1.11.6이 아닌 1.8.7을 사용하고 있음을 볼 수 있습니다). 아파치가 실행중인 환경을 알아야합니다. – Sayse

+0

@Sayse 맞습니다! 어떻게 아파치의 장고 버전을 변경하려면? – zinon

+0

이 명령을 실행하십시오 :'sudo pip freeze | grep -i 'django''와 출력을 Q에 게시하십시오. –

답변

0

아파치 설정을 사용하면 오류가 볼 수 장고 1.8.7 사용하고 있습니다. 그리고 당신은 URL을 (장고 1.8에서 지원되지 urls.py 내부 url(r'^users/', include('users.urls'), name='users')을 포함하기위한 새로운 방법을 사용하고 있습니다.이 가능성이 mod_wsgi 모듈이 여전히 파이썬 컴파일 하나입니다 확실히 3.5을 파이썬 파이썬 2.7로 전환하여 이후

. 2.7 여기에 WSGI docs 그것에 대해 말하는 내용은 다음과 같습니다.

mod_wsgi에있는 파이썬 가상 환경을 사용하여, 매우 그것 mod_wsgi에 원래 컴파일 된 것과 같은 파이썬 설치 를 사용하여 생성 된 것이 중요 이다 그것은이다 Python virtual envi를 사용할 수 없습니다. mod_wsgi가 다른 Python 버전을 사용하게하거나 다른 Python 설치를 사용하도록 강제 할 수 있습니다.

mod_wsgi가 원래 으로 파이썬 2.7 용으로 컴파일되었을 때 mod_wsgi가 파이썬 가상 머신 을 사용하도록 만들 수는 없습니다. 이는 원래 컴파일 된 파이썬 설치용 파이썬 라이브러리가 과 직접 mod_wsgi 모듈에 링크되어 있기 때문입니다. 바꾸어 말하면, 파이썬은 mod_wsgi 내에 에 내장되어 있습니다. mod_wsgi가 사용될 때, 라인 파이썬 프로그램을 실행하여 인터프리터를 실행하지 않고, 왜 다른 파이썬 설치를 사용하도록 할 수 없습니까?

따라서 mod_wsgi을 python 3.5를 사용하여 다시 설치하십시오. 그러면 Python 3.5로 설치 한 Django 패키지를 찾을 수있을 것입니다.

+0

아파치에서 장고 버전을 바꾸는 방법은? – zinon

+0

다른 질문입니다. 여기에 여러 답변이 있습니다. 그것은 당신이 virtualenv에 대해 그것을 실행하기를 원한다면 달려있다. 그렇지 않다면'pip install Django == 1.11.6'을 실행하여 장고의 올바른 버전을 컴퓨터에 설치하십시오. 자세한 내용은 [Django에서 Apache로 장고 실행하기] (https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/modwsgi/)를 참조하십시오. – dirkgroten

+0

가상 환경을 사용하고 있지 않습니다. 이미'django 1.11.6'을 설치하고 있습니다. 이전에 나는 1.8.7을 사용했다. – zinon

관련 문제