安装 requirements.txt 时出现问题

3
我是一名有用的助手,可以为您翻译文本。

我正在尝试在我的Digital Ocean Django服务器上安装所有Python/Django软件包。 我在根目录中有requirements.txt文件,因此我执行pip install -r requirements.txt - 但它不起作用。 这是我的requirements.txt

amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
coverage==4.4.2
decorator==4.0.11
defusedxml==0.4.1
Django==1.11.8
django-allauth==0.29.0
django-apptemplates==1.2
django-celery-beat==1.0.1
django-common-helpers==0.9.1
django-cron==0.5.0
django-el-pagination==3.1.0
django-fs-trumbowyg==0.1.4
django-markdown-deux==1.0.5
django-trumbowyg==1.0.1
django-widget-tweaks==1.4.1
get==0.0.0
imageio==2.1.2
kombu==4.1.0
markdown2==2.3.1
moviepy==0.2.3.2
numpy==1.13.3
oauthlib==2.0.1
olefile==0.44
Pillow==4.0.0
post==0.0.0
public==0.0.0
python-magic==0.4.12
python3-openid==3.0.10
pytz==2017.3
query-string==0.0.0
request==0.0.0
requests==2.11.1
requests-oauthlib==0.7.0
schedule==0.4.3
setupfiles==0.0.0
tqdm==4.11.2
vine==1.1.4

这是日志:

Collecting amqp==2.2.2 (from -r requirements.txt (line 1))
  Using cached amqp-2.2.2-py2.py3-none-any.whl
Collecting billiard==3.5.0.3 (from -r requirements.txt (line 2))
  Using cached billiard-3.5.0.3-py3-none-any.whl
Collecting celery==4.1.0 (from -r requirements.txt (line 3))
  Using cached celery-4.1.0-py2.py3-none-any.whl
Collecting coverage==4.4.2 (from -r requirements.txt (line 4))
  Using cached coverage-4.4.2-cp35-cp35m-manylinux1_x86_64.whl
Collecting decorator==4.0.11 (from -r requirements.txt (line 5))
  Using cached decorator-4.0.11-py2.py3-none-any.whl
Collecting defusedxml==0.4.1 (from -r requirements.txt (line 6))
  Using cached defusedxml-0.4.1.tar.gz
Requirement already satisfied: Django==1.11.8 in ./env/lib/python3.5/site-packages (from -r requirements.txt (line 7))
Collecting django-allauth==0.29.0 (from -r requirements.txt (line 8))
  Using cached django-allauth-0.29.0.tar.gz
Collecting django-apptemplates==1.2 (from -r requirements.txt (line 9))
  Using cached django-apptemplates-1.2.tar.gz
Collecting django-celery-beat==1.0.1 (from -r requirements.txt (line 10))
  Using cached django_celery_beat-1.0.1-py2.py3-none-any.whl
Collecting django-common-helpers==0.9.1 (from -r requirements.txt (line 11))
  Using cached django-common-helpers-0.9.1.tar.gz
Collecting django-cron==0.5.0 (from -r requirements.txt (line 12))
  Using cached django-cron-0.5.0.tar.gz
Collecting django-el-pagination==3.1.0 (from -r requirements.txt (line 13))
  Using cached django-el-pagination-3.1.0.tar.gz
Collecting django-fs-trumbowyg==0.1.4 (from -r requirements.txt (line 14))
  Using cached django-fs-trumbowyg-0.1.4.tar.gz
Collecting django-markdown-deux==1.0.5 (from -r requirements.txt (line 15))
  Using cached django-markdown-deux-1.0.5.zip
Requirement already satisfied: django-trumbowyg==1.0.3 in ./env/lib/python3.5/site-packages (from -r requirements.txt (line 16))
Collecting django-widget-tweaks==1.4.1 (from -r requirements.txt (line 17))
  Using cached django_widget_tweaks-1.4.1-py2.py3-none-any.whl
Collecting get==0.0.0 (from -r requirements.txt (line 18))
  Using cached get-0.0.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/james/postr/env/lib/python3.5/tokenize.py", line 454, in open
        buffer = _builtin_open(filename, 'rb')
    IsADirectoryError: [Errno 21] Is a directory: '/tmp/pip-build-9eo5rb8l/get/setup.py'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9eo5rb8l/get/

我以为它正在工作,只有get==0.0.0包出现错误 - 然而当我执行pip freeze时,它显示:
Django==1.11.8
django-trumbowyg==1.0.3
gunicorn==19.7.1
psycopg2==2.7.3.2
pytz==2017.3

这段文字表明,它们中没有一个是有效的。我手动使用pip install django-trumbowyg 安装了 django-trumbowyg,所以它在那里,但其他的只能通过设置 Django 服务器来解决。那么为什么pip install -r requirements.txt无法工作,我该如何解决呢?


查看您所有的版本0.0.0依赖项:它们只包含几行微不足道的代码,而且setupfiles似乎已从pypi中删除。您确定需要它们吗? - Klaus D.
3个回答

2
  1. 你应该在requirements.txt文件中修复软件包的版本。
  2. 从日志中可以看出,pip正在从某个地方使用缓存版本的模块,你可能需要尝试使用--no-cache-dir选项。

1
你正在尝试安装版本为0.0.0get
requirements.txt文件中指定正确的版本号。

0

有时候库可能会出现问题。

只需编辑requirements.txt,并在您遇到问题的任何软件包中删除版本号即可。

django-widget-tweaks==1.4.1
get
imageio==2.1.2

1
谢谢。我不得不完全删除setupfiles,因为setupfilessetupfiles==0.0.0都会导致错误。你知道这个包是做什么的以及我需要哪个版本吗?我试着找了一下,但似乎这是一个废弃的包。 - Zorgan
@Zorgan,我认为你在任何时候都不需要那个包。在一些项目中需要setuptools,但不需要setupfiles。我不知道它具体是做什么的,也不知道它是如何被安装并出现在requirements.txt中的。 - Astik Anand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接