Проблема Virtualenv с flask-werkzeug

Я установил virtualenv вместе с flask, werkzeug, jinja2 и SQLAlchemy. Я следил за учебником, упомянутым на веб-сайте фляги, и столкнулся с приведенной ниже ошибкой при выполнении кода фляги.

 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
         ^

Я чувствую, что virtualenv содержит python 2.4, а в документации flask упоминается, что flask поддерживает python 2.5. Так что, может быть, это может быть проблема, или это может быть какая-то другая проблема. Пожалуйста, помогите мне в этом.

Во-вторых, я хотел бы узнать, как получить последнюю версию virtualenv с Python 2.7 или какие-либо советы по ее установке на virtualenv.

Я использую CentOS

Заранее спасибо


person fear_matrix    schedule 11.02.2011    source источник


Ответы (4)


не знаю, что вы сделали и сколько лет вашему virtualenv.. но вы делаете свой собственный virtualenv с помощью:

% 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 

это должно работать. Сам virtualenv не «содержит python». Вы используете правильную версию Python (не знаю, что установлено в вашем дистрибутиве)?

person akira    schedule 11.02.2011
comment
Спасибо за ваш ответ. Я только что просмотрел учебник по документации werkzeug и flask. Я только что скачал virtualenv с веб-сайта, и на нем предварительно установлен python 2.4. Я считаю, что если я получу Python 2.5 или выше, это может решить мою проблему. В любом случае, я попробую приведенный выше код. - person fear_matrix; 11.02.2011
comment
В самом virtualenv нет питона. в вашем дистрибутиве есть. вы можете попытаться вызвать python2.5 или что-то еще, что использует Centos, чтобы различать разные версии Python, установленные одновременно. - person akira; 11.02.2011
comment
Да, я наконец нашел решение, проблема заключалась в том, что я использовал python 2.4 для вызова virtualenv. Итак, что я сделал, я установил python 2.7 вместе с setuptools и вызвал virtualenv. В любом случае, спасибо, Акира. - person fear_matrix; 15.02.2011

Синтаксис import .module появился в Python 2.5 (относительный импорт). Таким образом, вы должны использовать по крайней мере 2,5 для этой вещи.

person 9000    schedule 13.02.2011
comment
проблема заключалась в том, что я вызывал virtualenv из python 2.4. Итак, я установил python 2.7 и снова позвонил в virtualenv. И вот как я получил виртуальную среду Python 2.7. - person fear_matrix; 15.02.2011

Ниже есть несколько сообщений, которые должны помочь:

http://cols-code-snippets.blogspot.com/2011/02/start-new-python-project-with.html

http://cols-code-snippets.blogspot.com/2011/02/my-take-on-flask-application-skeleton.html

person Col Wilson    schedule 13.02.2011


Итак, можем ли мы уточнить, что имеется в виду, когда они говорят, что «у самой virtualenv нет python», загляните в соответствующие каталоги bin/ или /lib при создании env или как насчет того факта, что можно поставить флаг -p при создании virtualenv -p питон2.7. Так что делайте так же, как и fight_matrix, установите требуемый python, а затем создайте с ним virtualenv «virtualenv -p python2.7». Может быть, это по-другому на Centos, но я бы так не думал.

person limeyd    schedule 18.03.2011