2013-10-28 7 views
1

시스템 전체에 Python 2.5가 설치된 VPS가 있습니다. 파이썬 2.7을 사용자의 홈 디렉토리 중 하나에 설치했습니다 (--prefix 사용). bashrc와 bash_profile에 추가하고, python 변수를 env로 내 보냈습니다. 이제는 python을 콘솔에 입력하면 python 2.7이 실행 중입니다. 그러나 파이썬 버전을 내 응용 프로그램 (장고 FastCGI와 함께 사용)에서 검사했을 때 나는 여전히 2.5를 사용하고있는 것을 볼 수있다. ps 출력에서이 계정에 대해 실행중인 python 프로세스와 호스팅 관련 계정으로 실행중인 apache 프로세스를 볼 수 있습니다. 시스템 전체 버전을 변경하지 않고이 계정을 2.7로 어떻게 전환 할 수 있습니까? 감사합니다.python 경로/pythonpath

답변

0

내 빠른 CGI 디스패치 스크립트에서 env 프로그램을 통해 파이썬 인터프리터를 호출했습니다. 명시 적으로 2.7의 경로를 스크립트의 첫 번째 줄에 넣으면 예상대로 작동합니다.

2

하나의 옵션은 파이썬 virtualenv 도구를 사용하여 .bashrc에서 소스로 사용할 수있는 파이썬 가상 환경을 만드는 것입니다. 당신이 위의 예에서

[email protected]:~$ virtualenv --python=/usr/bin/python3 $HOME/fcgi_python 
Running virtualenv with interpreter /usr/bin/python3 
Using base prefix '/usr' 
New python executable in fcgi_python/bin/python3 
Also creating executable in fcgi_python/bin/python 
Installing Setuptools..............................................................................................................................................................................................................................done. 
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done. 

[email protected]:~$ python --version 
Python 2.7.5+ 

[email protected]:~$ source $HOME/fcgi_python/bin/activate 

(fcgi_python)[email protected]:~$ python --version 
Python 3.3.2+ 

는 사용자의 홈 디렉토리에 설치 파이썬 인터프리터의 경로와 --python= 후 인수를 대체 할 것이다.

0

내 /home/me/.bashrc에 PYTHONPATH를 설정했는데 모두 터미널에서 제대로 작동하지만 아파치 w/mod_wsgi가 파이썬 스크립트를 시작하면 sysem 또는 전용 사용자 (아무 것도 모르는)에서 작동합니다. bashrc.

이 특정 상황의 경우, 난 그냥 아파치 (WSGIPythonPath 옵션)에 대한 파이썬 경로를 설정하는 아파치 설정 ( apache2.conf의 )을 사용했다.