Не удалось найти версию, которая удовлетворяет требованию '' из require.txt.Не найдено подходящего распределения для пакета - PullRequest
2 голосов
/ 09 июля 2019

Я пытаюсь установить некоторые пакеты Python из файла require.txt в моем файле Docker. Для каждого другого пакета, он выбрасывает ошибку 'Не удалось найти версию, которая удовлетворяет требованию из require.json Для него нет подходящих распределений '

Пакеты включают в себя json, csv, re и многие другие.

Я запускаю его на Ubuntu 16.04 и использую образ 'python: 3.6-slim'

Я нашел много вопросов по этому поводу, но не смог решить мою проблему. Я также попытался обновить мой пункт.

Может ли кто-нибудь помочь мне с этим?

Докер-файл

FROM python:3.6-slim

WORKDIR /app

ADD . . 

RUN apt-get update && apt-get upgrade python-pip -y

RUN pip install --trusted-host pypi.python.org -r req.txt

EXPOSE 8080

CMD ["python", "server_reformulator_inference.py"]

И требование.txt

numpy
requests
openpyxl
xlsxwriter
absl-py
google-apputils
grpcio
grpcio-tools
keras
nltk
pandas
portpicker
pygtrie
sentencepiece
tensorflow==1.12.2
tensorflow-tensorboard
spacy
Flask
Flask-Excel
tqdm
argparse
multiprocessing
enum
six
pprint

1 Ответ

1 голос
/ 09 июля 2019

json, csv, re и т. Д. Являются встроенными модулями, их не следует устанавливать, используя pip.

Смотрите далее, они все находятся в стандартном пути библиотеки Python /usr/lib/python3.6.

root@orange:~# python3 -c 'import json; print(json.__file__)'
/usr/lib/python3.6/json/__init__.py
root@orange:~# python3 -c 'import csv; print(csv.__file__)'
/usr/lib/python3.6/csv.py
root@orange:~# python3 -c 'import re; print(re.__file__)'
/usr/lib/python3.6/re.py

Для сравнения см. requests, который не является встроенным модулем, он находится в /usr/lib/python3/dist-packages:

root@orange:~# python3 -c 'import requests; print(requests.__file__)'
/usr/lib/python3/dist-packages/requests/__init__.py
...