2010-09-03 10 views
1

lorsque je tente de créer un virtualenv qui utilise python2.5 je reçois l'erreur suivante:Python virtualenv: création d'un environnement de python2.5 sur ubuntu 10.04

File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1489, in <module>main() 
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 526, in main use_distribute=options.use_distribute) 
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 609, in create_environment 
site_packages=site_packages, clear=clear)) 
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 672, in install_python fix_lib64(lib_dir) 
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 891, in fix_lib64 
if [p for p in distutils.sysconfig.get_config_vars().values() 
File "/usr/lib/python2.5/distutils/sysconfig.py", line 499, in get_config_vars func() 
File "/usr/lib/python2.5/distutils/sysconfig.py", line 351, in _init_posix filename = get_makefile_filename() 
File "/usr/lib/python2.5/distutils/sysconfig.py", line 210, in get_makefile_filename 
return os.path.join(lib_dir, "config" + (sys.pydebug and "_d" or ""), "Makefile") 
AttributeError: 'module' object has no attribute 'pydebug' 

Je reçois cette erreur en faisant cette commande:

virtualenv -p python2.5 . 

Parce que Ubuntu10.04 ne vient pas avec python2.5 je l'ai installé à partir de: https://launchpad.net/~fkrull/+archive/deadsnakes

d'abord, je pensais que je devrais installer virt ualenv pour Python2.5 aussi mais cela ne semble pas fonctionner non plus. Si j'essaye de créer un virtualenv avec la commande suivante:

sudo Python2.5 /usr/lib/python2.5/site-packages/virtualenv.py . 

Je finis par obtenir la même erreur. Je suis un peu nouveau sur Ubuntu et Python et il y a encore quelques points vides. Comme si vous aviez deux versions de Python, pour Python2.6 je peux juste faire virtualenv. Mais je suppose que pour utiliser le 2.5 je dois l'appeler directement comme je l'ai fait dans la commande sudo ci-dessus? Ou est-ce complètement faux et tous les virtualenv sont les mêmes et peuvent être utilisés avec différentes versions de Python?

De toute façon ma question principale est de savoir comment je peux corriger l'erreur afin que je puisse configurer un virtualenv en utilisant Python2.5. Toute information supplémentaire est appréciée.

+0

Que retourne «quel python2.5»? Qu'en est-il de 'quel python'? –

+0

/usr/local/bin/python2.5 et/usr/bin/python – Pickels

+0

-1 Erreur de l'utilisateur, par utilisateur. – snapshoe

Répondre

2

J'avais un autre Python 2.5 installé. J'ai oublié le nom mais quelque chose comme Python 2.5 minimal et cela a donné quelques problèmes avec l'installation de deadsnakes. Quand je le désinstalle, tout fonctionne correctement.

1

Vous n'avez pas besoin de deux virtualenvs installés. Vous pouvez dire virtualenv qui python à utiliser en utilisant l'argument --python comme suit:

virtualenv --python=python2.5 <my-venv> 
+0

Merde, je suppose que je n'ai pas mentionné comment j'ai eu la première erreur. C'était en faisant ça cmd. Je vais mettre à jour ma question. Vous avez répondu à ma question de côté, alors merci pour cela. – Pickels

0
sudo easy_install-2.5 virtualenv 

vous donnera un python virtualenv 2.5 spécifique. Invoquez-le en utilisant virtualenv-2.5. Vous devrez peut-être installer d'abord apt-set si vous n'avez pas easy_install.

+0

Voilà comment j'ai installé virtualenv sur Python2.5. – Pickels

1

j'ai pu obtenir ce cours dans Ubuntu 10.04 Lucid Lynx (qui est livré avec Python 2.6 installé par défaut) comme ceci:

  1. installer Python 2.5 en utilisant le référentiel à https://launchpad.net/~fkrull/+archive/deadsnakes.

    If you don't know how to do this:

    1a. Edit /etc/apt/sources.list by adding the line: deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
    1b. Run 'sudo apt-get update'.
    1c. Run 'sudo apt-get install python2.5'.
    1d. Verify that python2.5 is on the PATH by running 'which python2.5'.

  2. Run 'virtualenv -p python2.5 ENV (où ENV est tout ce que vous voulez appeler votre répertoire de l'environnement).

Vous pouvez ensuite faire les choses habituelles comme '. env/bin/activate 'et ainsi de suite. Cette méthode a très bien fonctionné pour moi, mais laissez-moi savoir si vous rencontrez des problèmes avec votre configuration.

Questions connexes