无法在Mac上安装wsgiref

时间:2017-03-26 09:12:58

标签: python pip wsgiref

我在Mac上安装wsgiref时遇到问题。

$ python --version
Python 3.6.0 :: Anaconda 4.3.1 (x86_64)
$ pip --version
pip 9.0.1 from /anaconda/lib/python3.6/site-packages (python 3.6)

我的requirements.txt文件如下所示。

numpy==1.8.1
scipy==0.14.0
pyzmq==14.3.1
pandas==0.14.0
Jinja2==2.7.3
MarkupSafe==0.23
backports.ssl-match-hostname==3.4.0.2
gnureadline==6.3.3
ipython==2.1.0
matplotlib==1.3.1
nose==1.3.3
openpyxl==1.8.6
patsy==0.2.1
pyparsing==2.0.2
python-dateutil==2.2
pytz==2014.4
scikit-learn==0.14.1
six==1.7.3
tornado==3.2.2
wsgiref==0.1.2
statsmodels==0.5.0

当我运行pip install -r requirement.txt时,我收到了以下错误

Collecting wsgiref==0.1.2 (from -r requirements.txt (line 20))
  Using cached wsgiref-0.1.2.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/xs/y0pbzxkn7gqcdtrz4cpxtwrw0000gn/T/pip-build-hkiqbu1j/wsgiref/setup.py", line 5, in <module>
        import ez_setup
      File "/private/var/folders/xs/y0pbzxkn7gqcdtrz4cpxtwrw0000gn/T/pip-build-hkiqbu1j/wsgiref/ez_setup/__init__.py", line 170
        print "Setuptools version",version,"or greater has been installed."
                                 ^
    SyntaxError: Missing parentheses in call to 'print'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/xs/y0pbzxkn7gqcdtrz4cpxtwrw0000gn/T/pip-build-hkiqbu1j/wsgiref/

我试图运行pip install --upgrade setuptoolssudo easy_install -U setuptools但没有帮助。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:7)

wsgiref已作为Python 3中的标准库包含在内... 因此,如果您正在尝试使用Python 3,请继续导入wsgiref即可。

答案 1 :(得分:2)

根据这一行SyntaxError: Missing parentheses in call to 'print',我认为它需要Python 2.x才能运行setup.py。是否在print中使用括号是Python 2和Python 3的不同语法。

这是Github issue

的解决方案
  

有一些修复程序可以让你运行,按照最少的工作顺序:

     
      
  1. 切换到python2.7以进行遗嘱安装。

  2.   
  3. 尝试使用pip install升级wsgiref --upgrade wsgiref,看看最新版本是否适用于您的设置,并且使用will(如果没有,您会发现http / webhooks内容不起作用)

  4.   
  5. 如果你尝试2)并且它有效,请在这里提交PR,其中包含requirements.txt中的升级版本。 (你可以通过使用pip冻结找出你得到的版本。)

  6.   

您可以找到有关语法差异here

的更多信息