Rozwiązaniem problemu może być indywidualna instalacja środowiska wirtualnego python, dostosowanego do potrzeb indywidualnych klienta.
Aby zainstalować środowisko wirtualne python i uruchamiać w nim własne skrypty, należy posłużyć się systemowym pakietem
virtualenv.
Dla przykładu posłużymy się następującym zestawem danych:
Serwer o nazwie:
testitl
Katalog główny plików serwera:
/www/virtual/t/testitl
Konto administratora: admin
Instalowana wersja pythona:
2.6
Po zalogowaniu na konto shell musimy przygotować katalog, który będzie zawierał nasze środowisko wirtualne python:
$ mkdir /www/virtual/t/testitl/python26
Następnie wydajemy polecenie:
$ virtualenv -p python2.6 /www/virtual/t/testitl/python26
Running virtualenv with interpreter /usr/bin/python26
New python executable in /www/virtual/t/testitl/python26/bin/python26
Also creating executable in /www/virtual/t/testitl/python26/bin/python
Installing setuptools...........................done
Aby korzystać z wirtualnego środowiska i zainstalować w nim potrzebne pakiety, należy zaimportować z niego ustawienia do roboczej powłoki następującym poleceniem (przykład dla powłoki BASH):
$ . /www/virtual/t/testitl/python26/bin/activate
W wyniku powyższego, prompt powłoki zmieni się na coś takiego: "(python26)[admin@shell ~]$"
Oznacza to, że aktualnie pracujemy we wskazanym środowisku wirtualnym pythona.
Następnie za pomocą pakietu
easy_install możemy zainstalować interesujący nas pakiet, np.
Django:
(python26)[admin@shell ~]$ easy_install Django
Searching for Django
Reading http://pypi.python.org/simple/Django/
Reading http://www.djangoproject.com/
Best match: Django 1.3
Downloading http://pypi.python.org/packages/source/D/Django/Django-1.3.tar.gz#md5=1b8f76e91c27564708649671f329551f
Processing Django-1.3.tar.gz
Running Django-1.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-LSjq8U/Django-1.3/egg-dist-tmp-77i1qE
zip_safe flag not set; analyzing archive contents...
django.template.loaders.app_directories: module references __file__
django.core.management.base: module references __path__
django.core.management.sql: module references __file__
django.core.management.__init__: module references __file__
....
Adding Django 1.3 to easy-install.pth file
Installing django-admin.py script to /www/virtual/t/testitl/python26/bin
Installed /www/virtual/t/testitl/python26/lib/python2.6/site-packages/Django-1.3-py2.6.egg
Processing dependencies for Django
Finished processing dependencies for Django
Aby wykorzystać stworzone środowisko wirtualne w skryptach CGI/FCGI, należy zakualizować ścieżkę interpretera na kopię zainstalowaną w środowisku wirtualnym. Na przykładzie Django w skrypcie django.fcgi pierwsza linia (tzw. shebang) powinna wyglądać następująco:
#!/www/virtual/t/testitl/python26/bin/python26
Środowisko wirtualne python jest gotowe do użycia.