2011-02-11 4 views
1

J'ai installé virtualenv avec flask, werkzeug, jinja2 et SQLAlchemy. Je suivais le tutoriel mentionné sur le site du ballon et je suis tombé sur l'erreur ci-dessous lors de l'exécution du code flaconProblème Virtualenv avec flask-werkzeug

Traceback (most recent call last): 
    File "hello.py", line 1, in ? 
    from flask import Flask 
    File "/root/myproject/env/lib/python2.4/site-packages/Flask-0.7dev_20110211-py2.4.egg/flask/__init__.py", line 18 
    from .app import Flask, Request, Response 
     ^

Ce que je ressens est que virtualenv contient python 2.4 et dans la documentation du flacon, il est mentionné que flacon soutient python 2.5. Alors peut-être que cela pourrait être le problème ou que ce pourrait être un autre problème. S'il vous plaît, aidez-moi sur ce point.

Deuxièmement, je voudrais connaître le processus d'obtention de la dernière version de virtualenv qui a Python 2.7 ou des conseils pour l'installer sur virtualenv.

J'utilise CentOS

Merci à l'avance Vous

Répondre

2

ne sais pas ce que vous avez fait et l'âge de votre virtualenv est .. mais vous faites votre propre virtualenv par:

% python -c "import urllib, os; os.mkdir('py-env'); \ 
    urllib.urlretrieve('http://goo.gl/D2RB', 'py-env/virtualenv.py')" 
% python py-env/virtualenv.py --no-site-packages py-env 
% source py-env/bin/activate 
% pip install flask SQLAlchemy 

qui devrait fonctionner . virtualenv lui-même ne contient pas «python». exécutez-vous la bonne version de python (ne sais pas ce qui est installé sur votre distribution)?

+0

Merci pour votre réponse. Je viens de suivre le tutoriel de documentation de werkzeug et flask. Je viens de télécharger le virtualenv du site web et il a python 2.4 pré installé. Je crois que si j'obtiens Python 2.5 ou supérieur alors cela pourrait résoudre mon problème. De toute façon je vais essayer le code ci-dessus. –

+0

virtualenv lui-même n'a pas de python. votre distribution a. vous pouvez essayer d'appeler 'python2.5' ou tout ce que centos utilise pour faire la distinction entre différentes versions de python installées en même temps. – akira

+0

Ouais j'ai finalement trouvé la solution le problème était que j'utilisais python 2.4 pour appeler virtualenv. Donc ce que j'ai fait, j'ai installé Python 2.7 avec setuptools et appelé virtualenv. Quoi qu'il en soit, merci akira. –

3

La syntaxe import .module est introduit dans Python 2.5 (relative import). Donc, vous devez utiliser au moins 2,5 pour cette chose.

+0

le problème était que j'appelais virtualenv de Python 2.4. J'ai donc installé Python 2.7 et appelé à nouveau virtualenv. Et c'est comme ça que j'ai eu l'environnement virtuel python 2.7. –

0

Pouvons-nous préciser ce qu'on entend quand ils disent « virtualenv lui-même n'a pas de python » jeter un oeil dans le bac correspondant/ou/lib lorsqu'un env est créé ou ce que le fait, on peut fournir la -p indicateur lors de la création d'un virtualenv -p python2.7. Faites comme fear_matrix, installez le python requis puis créez un virtualenv avec "virtualenv -p python2.7". Peut-être que c'est différent sur centos mais je ne le pense pas.