Web.py 安装错误
Web.py installation error
# Python Version
λ python
Python 3.7.0b5 (v3.7.0b5:abb8802389, May 31 2018, 01:54:01) [MSC v.1913 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
λ pip3 install web.py
Collecting web.py
Using cached https://files.pythonhosted.org/packages/fc/58/21649fc1849b1f688f3d42e25e79615cc573469ea57eaa9e6af70b1e3b87/web.py-0.39.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\setup.py", line 6, in <module>
from web import __version__
File "C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\web\__init__.py", line 14, in <module>
import utils, db, net, wsgi, http, webapi, httpserver, debugerror
File "C:\Users\Karanjit Singh\AppData\Roaming\Python\Python37\site-packages\db\__init__.py", line 69
print "var", var
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\
基本上,您正在尝试为 Python 3.7 安装模块,但此模块仅适用于 Python 2.x。由于在某些方面 Python 的这些版本不兼容,因此您会遇到错误。
在你的例子中,print "var", var
是 Python 2.x-only 语法,它在 Python 3.x.[=17= 中不起作用]
因此,要解决此问题,您应该使用 pip install web.py
安装 Python 2.x 的模块。另一种选择是使用名为 2to3 的工具将模块的代码转换为 Python 3.x 语法,但是,如果模块使用一些严重依赖 Python 2.x 特性的 C 扩展。
此外,web.py 的 official site 在首页上说:
The above version [0.39] only supports Python 2. If you looking for Python 3 support, try the experimental version.
pip install web.py==0.40-dev1
我猜,他们的命令有点不正确,因为应该使用 pip3
,而不是 pip
。所以,如果你想要 Python 3 支持,请先尝试实验版本。
# Python Version
λ python
Python 3.7.0b5 (v3.7.0b5:abb8802389, May 31 2018, 01:54:01) [MSC v.1913 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
λ pip3 install web.py
Collecting web.py
Using cached https://files.pythonhosted.org/packages/fc/58/21649fc1849b1f688f3d42e25e79615cc573469ea57eaa9e6af70b1e3b87/web.py-0.39.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\setup.py", line 6, in <module>
from web import __version__
File "C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\web\__init__.py", line 14, in <module>
import utils, db, net, wsgi, http, webapi, httpserver, debugerror
File "C:\Users\Karanjit Singh\AppData\Roaming\Python\Python37\site-packages\db\__init__.py", line 69
print "var", var
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\KARANJ~2\AppData\Local\Temp\pip-install-isj4gcc5\web.py\
基本上,您正在尝试为 Python 3.7 安装模块,但此模块仅适用于 Python 2.x。由于在某些方面 Python 的这些版本不兼容,因此您会遇到错误。
在你的例子中,print "var", var
是 Python 2.x-only 语法,它在 Python 3.x.[=17= 中不起作用]
因此,要解决此问题,您应该使用 pip install web.py
安装 Python 2.x 的模块。另一种选择是使用名为 2to3 的工具将模块的代码转换为 Python 3.x 语法,但是,如果模块使用一些严重依赖 Python 2.x 特性的 C 扩展。
此外,web.py 的 official site 在首页上说:
The above version [0.39] only supports Python 2. If you looking for Python 3 support, try the experimental version.
pip install web.py==0.40-dev1
我猜,他们的命令有点不正确,因为应该使用 pip3
,而不是 pip
。所以,如果你想要 Python 3 支持,请先尝试实验版本。