In heroku python tutorial, virtualenv issues installing wsgiref (ez_setup syntax error?)
我正在学习Heroku教程"开始使用python"。我正准备使用virtualenv在本地构建环境,以便在本地运行测试应用程序。requirements.txt包括
1 | wsgiref==0.1.2 |
到达该步骤后,virutalenv输出以下错误消息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Downloading/unpacking wsgiref==0.1.2 (from -r requirements.txt (line 8)) Downloading wsgiref-0.1.2.zip Running setup.py egg_info for package wsgiref Traceback (most recent call last): File"<string>", line 16, in <module> File"/private/var/folders/v6/zf84tlbn19zcqlbx977nlrmh0000gn/T/pip_build_jeremy/wsgiref/setup.py", line 5, in <module> import ez_setup File"./ez_setup/__init__.py", line 170 print"Setuptools version",version,"or greater has been installed." ^ SyntaxError: invalid syntax Complete output from command python setup.py egg_info: Traceback (most recent call last): File"<string>", line 16, in <module> File"/private/var/folders/v6/zf84tlbn19zcqlbx977nlrmh0000gn/T/pip_build_jeremy/wsgiref/setup.py", line 5, in <module> import ez_setup File"./ez_setup/__init__.py", line 170 print"Setuptools version",version,"or greater has been installed." ^ SyntaxError: invalid syntax |
我很清楚发生了什么:在某个时刻,python3.3(我的默认设置)正被用来通过python2.x脚本安装某些东西。我就是不知道怎么修。我的virtualenv只有python3.x实用程序,我不确定ez-u的设置是什么,即使在阅读了它令人担忧的pypi条目之后。
我怎么修这个?
Heroku支持python版本2.4.4到3.4.1。
您正在使用的教程是为python 2.7.8设计的,这就是您的应用程序不能在本地工作的原因。如果您将应用程序推送到Heroku,它将正常工作。
这里有两个选项,可以在本地计算机上安装python 2.7,也可以修改教程以使用python 3.x。
对于第一个选项,使用包管理器或其他常规工具安装python 2.x。如果您使用的是RedHat或其他基于RPM的发行版(如CentOS、Fedora等),请注意不要覆盖系统python,因为诸如
一旦安装了python 2.7.x,就必须针对该版本的python安装pip和安装工具。最后,创建虚拟环境,然后继续本教程。
如果您想坚持使用python 3.3,那么必须从克隆的存储库中进行以下调整:
将您的
1 | django-toolbelt |
您不需要其他任何东西,
创建一个新的虚拟环境,然后安装这些需求。