2011-02-11 7 views
1

flasken, werkzeug, jinja2 및 SQLAlchemy와 함께 virtualenv를 설치했습니다. 나는 플라스크 웹 사이트에 언급 된 튜토리얼을 다음되었으며 플라스크 코드를 실행할 때 나는 아래의 오류를 건너 왔어요플라스크 -werkzeug의 Virtualenv 문제

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 파이썬 2.4를 포함하고 플라스크의 문서에이 플라스크는 파이썬을 지원하는 언급이다 2.5. 아마 그게 문제 일 수도 있고 다른 문제 일 수도 있습니다. 이것 좀 도와주세요.

두 번째로 나는 파이썬 2.7 또는 virtualenv에 그것을 설치하는 방법에 대한 정보를 가지고있는 최신 virtualenv를 얻는 과정을 알고 싶습니다. 내가

에 CentOS

을 사용하고

답변

2

당신이 무슨 짓을하고 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을 포함하지 않습니다'. 파이썬의 올바른 버전을 실행합니까 (몰라요, 배포판에 설치되어 있습니까)?

+0

답변 해 주셔서 감사합니다. 나는 werkzeug와 flask의 설명서 튜토리얼을 따라 갔다. 방금 웹 사이트에서 virtualenv를 다운로드했고 파이썬 2.4 사전이 설치되어 있습니다. 나는 파이썬 2.5 이상을 얻으면 내 문제를 해결할 수 있다고 생각한다. 어쨌든 나는 위의 코드를 시도 할 것이다. –

+0

virtualenv 자체에는 파이썬이 없습니다. 배포판에 있습니다. 당신은'python2.5' 또는 다른 CentOS가 동시에 설치된 다른 파이썬 버전을 구별하기 위해 사용하는 것을 호출하려고 시도 할 수 있습니다. – akira

+0

그래, 마침내 해결책을 발견했다. 파이썬 2.4를 사용하여 virtualenv를 호출했다. 그래서 내가 파이썬 2.7을 setuptools와 함께 설치했고 virtualenv라고 불렀다. 어쨌든 아키라에게 감사드립니다. 게시물에 대해 –

3

import .module 구문은 파이썬 2.5 (relative import)에 도입된다. 따라서 적어도 2.5를 사용해야합니다.

+0

문제는 파이썬 2.4에서 virtualenv를 호출하는 것이 었습니다. 그래서 파이썬 2.7을 설치하고 virtualenv를 다시 호출했습니다. 그리고 그것이 파이썬 2.7 가상 환경을 얻은 방법입니다. –

0

그들이 ENV가 하나가를 제공 할 수있는 사실을 만들거나 무엇을 할 때 "자체 VIRTUALENV에는 파이썬이 없다"해당 빈/또는/lib에 디렉토리를 살펴 말할 때 우리가 무엇을 의미하는지 명확히 할 수 있습니다 virtualenv -p python2.7을 만들 때 -p 플래그를 사용합니다. fear_matrix가 필요한 파이썬을 설치 한 다음 "virtualenv -p python2.7"을 사용하여 virtualenv를 만듭니다. 어쩌면 이것은 centos에서 다르지만 나는 그렇게 생각하지 않을 것입니다.