python NameError: name 'file' is not defin

2019-01-23 22:54发布

I dont know much about python. I want to start working on the project and the setup instruction says:

pip install -r requirements-dev.txt

Simple enougth. The problem is that I get this:

    Downloading/unpacking gunicorn==0.13.4 (from -r requirements.txt (line 7))
  Running setup.py egg_info for package gunicorn
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/tmp/pip-build-root/gunicorn/setup.py", line 18, in <module>
        long_description = file(
    NameError: name 'file' is not defined
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/tmp/pip-build-root/gunicorn/setup.py", line 18, in <module>

    long_description = file(

NameError: name 'file' is not defined

I dont understand the problem. Maybe somebody can help out?

I run this on Arch Linux, python defaults to python 3 and the project is not python 3 but Im not sure if thats it.

Thanks.

3条回答
甜甜的少女心
2楼-- · 2019-01-23 23:09

file is not defined in Python3, which you are using apparently. The package you're instaling is not suitable for Python 3, instead, you should install Python 2.7 and try again.

See: http://docs.python.org/release/3.0/whatsnew/3.0.html#builtins

查看更多
The star\"
3楼-- · 2019-01-23 23:13

It seems that your project is written in Python < 3. This is because the file() builtin function is removed in Python 3. Try using Python 2to3 tool or edit the erroneous file yourself.

EDIT: BTW, the project page clearly mentions that

Gunicorn requires Python 2.x >= 2.5. Python 3.x support is planned.

查看更多
混吃等死
4楼-- · 2019-01-23 23:33

file() is not supported in Python 3

Use open() instead; see Built-in Functions - open().

查看更多
登录 后发表回答