Ошибка установки Pyping [дубликат]

Другие объяснили, что NoneType есть и общий способ закончить с ним (т. е. не вернуть значение из функции).

Еще одна распространенная причина, по которой вы None, где вы не ожидайте, что это назначение операции на месте изменяемого объекта. Например:

mylist = mylist.sort()

Метод sort() списка сортирует список на месте, т. Е. mylist изменен. Но фактическое возвращаемое значение метода - None, а не отсортированный список. Поэтому вы назначили None на mylist. Если вы попытаетесь сделать следующее, скажем, mylist.append(1), Python даст вам эту ошибку.

57
задан devautor 28 May 2016 в 05:12
поделиться

14 ответов

Для меня работал только апгрейд:

pip install --upgrade pip

0
ответ дан cleicar 16 August 2018 в 11:41
поделиться
  • 1
    ошибка происходит со мной при выполнении этой очень точной команды :( – allan.simon 16 April 2018 в 15:32

У меня также был этот вопрос. Первоначально был установлен прокси-сервер и работал нормально. Затем я подключился к сети, где она не проходит через прокси. После сброса прокси-сервера снова получите работу.

unset http_proxy; unset http_prox;  unset HTTP_PROXY; unset HTTPS_PROXY
0
ответ дан Community 16 August 2018 в 11:41
поделиться

Если вы находитесь за прокси-сервером, перед началом установки вы должны выполнить дополнительные шаги по настройке. Вы должны установить переменную окружения http_proxy на адрес прокси-сервера. Используя bash, это выполняется с помощью команды

export http_proxy="http://user:pass@my.site:port/" 

. Вы также можете указать параметр

--proxy=[user:pass@]url:port 

в pip. Часть [user:pass@] не является обязательной.

24
ответ дан croxy 16 August 2018 в 11:41
поделиться

порт 443 не открыт, просто разрешите пользовательский порт tcp 443, если на AWS еще открыть порт 443 для исходящих соединений ...

5
ответ дан Deepak 16 August 2018 в 11:41
поделиться
  • 1
    Это очень помогло мне в кластере OpenStack! Хороший Дипак! – Arun Das 6 September 2017 в 01:00

Необычно, если я удалю прокси из среды и добавлю его в командную строку, он работает для меня. Например, чтобы самому обновить pip:

env http_proxy= https_proxy= pip install pip --upgrade --proxy 'http://proxy-url:80'

В моей проблеме был прокси-сервер в среде. Кажется, что пип только отличит аргумент.

0
ответ дан Eric 16 August 2018 в 11:41
поделиться

Решение: 1. sudo apt remove python-pip 2. pip3 install pip (или установите pip с помощью get-pip.py )

Почему: Эта ошибка произошла в pip 8.0.1 который установлен apt-get. И произошло, только когда ваша сеть нестабильна.

Если у вас есть pip, установленный с apt, он скрывает пип, который вы установили другими способами, поэтому сначала вы должны удалить apt one.

Я отключил сеть и протестировал 8.0.1, 9.0.3, 10.x 3 версии, установленные с pip3 или get-pip.py, при этом не было ошибок. & nbsp; & nbsp; Итак, я думаю, что только apt версия pip 8.0.1 имеет эту ошибку, другие - в порядке.

0
ответ дан Haocheng Yang 16 August 2018 в 11:41
поделиться

Что происходит здесь, так это то, что продаваемые версии запроса / urllib3 сталкиваются при импорте в двух разных местах (один и тот же код, но разные имена). Если у вас есть сетевая ошибка, она не будет пытаться получить колесо, но с ошибкой выше. См. здесь для более глубокого погружения в эту ошибку.

Для решения с системой pip см. выше .

Если вы есть эта проблема в virtualenv, созданная с помощью python -m venv (которая все еще копирует колеса с /usr/share/python-wheels, даже если у вас есть пипс отдельно), самый простой способ «исправить» выглядит следующим образом:

  1. создать virtualenv: /usr/bin/python3.6 -m venv ...
  2. установить requests в среду (это может вызвать ошибку выше): <venv>/bin/pip install requests
  3. удалить скопированные версии requests, который будет использоваться pip: rm <venv>/share/python-wheels/{requests,chardet,urllib3}-*.whl

Теперь в <venv>/bin/pip используется установленная версия requests, которая имеет urllib3 vendored.

8
ответ дан Jan Katins 16 August 2018 в 11:41
поделиться
  • 1
    Спасибо, я просто удалил это /usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl, и теперь он исправлен (без virtualenv). – krsoni 29 October 2017 в 13:59
  • 2
    На самом деле, в моем случае, я не использовал виртуальный env. – krsoni 3 November 2017 в 08:26
  • 3
    Если вы удалите файлы whl непосредственно в /usr/share/python-wheels, python -m venv больше не будет использоваться для использования <venv>/bin/pip. Поэтому, если вы удалите эти файлы, вы должны быть уверены, что вам это не нужно. Если вам нужен как системный пипс, так и узел venv, вам необходимо установить систему с помощью get-pip.py (см. stackoverflow.com/a/37531821/1380673 ), и вам нужно удалить whl файлы в каждом venv. – Jan Katins 6 November 2017 в 10:47

Это рабочее решение этой проблемы, которое я нашел.

sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
0
ответ дан PSN 16 August 2018 в 11:41
поделиться

Я получал эту ошибку для любой установки пакета, используя pip. Позже я обнаружил, что pip требует, чтобы переменная http_proxy и https_proxy запускалась за прокси. После установки этих двух переменных среды эта проблема исправлена.

export http_proxy=http://<username>:<passowrd>@<proxy_ip>:<proxy_port>/
export https_proxy=https://<username>:<passowrd>@<proxy_ip>:<proxy_port>/
1
ответ дан rashok 16 August 2018 в 11:41
поделиться

Ubuntu поставляется с версией PIP от precambrian, и именно так вам нужно обновить ее, если вы не хотите тратить часы и часы на отладку связанных с пиком проблем.

apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py

Как вы заметили, я включил информация для Python 2.x и 3.x

55
ответ дан sorin 16 August 2018 в 11:41
поделиться
  • 1
    Выполнение python get-pip.py завершается с этим «OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pip-8.1.2.dist-info' & quot; – devautor 4 July 2016 в 16:53
  • 2
    @mirror, используйте sudo, потому что get-pip.py попытается установить pip – Raghuram Vadapalli 24 August 2016 в 18:49
  • 3
    Эта проблема не имеет ничего общего с пипсом. трассировка стека показывает, что запрос на получение пакета не удался, что указывает на проблему с сетью. Говорить OP о переустановке pip будет просто обход. – Thom 16 October 2016 в 10:08
  • 4
    это сработало для меня .. спасибо :) – Harsha B 19 December 2017 в 08:41
  • 5
    Использовал его на raspberian. Не удалось запустить & quot; pip & quot; больше. Может только запустить pip3. Мне пришлось добавить символическую ссылку: ln -s / usr / local / bin / pip / usr / bin / pip, взятый (и измененный) из этого ответа: stackoverflow.com/questions/29712519/… – TheTrowser 30 May 2018 в 00:05

Прежде всего, эта проблема существует из-за проблем с сетью, а удаление и повторная установка все не будет иметь большой поддержки. Вероятно, вы находитесь за прокси-сервером, и в этом случае вам нужно установить прокси.

Но в моем случае я столкнулся с проблемой, потому что я не был за прокси-сервером. Как правило, я работаю за прокси-сервером, но при работе на дому я устанавливаю прокси-сервер в None в настройках сети.

Но я все еще получал те же ошибки даже после удаления настроек прокси-сервера.

Итак, когда я набирал

env | grep proxy

, я нашел что-то вроде этого:

http_proxy=http://127.0.0.1:1234/

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

Чтобы отключить этот прокси, введите

unset http_proxy

Следуйте тому же подходу для всех других записей, таких как https_proxy.

10
ответ дан thisisashwani 16 August 2018 в 11:41
поделиться

Я столкнулся с подобной проблемой при попытке установить awscli-инструмент на экземпляр ec2. Я изменил группу безопасности, чтобы разрешить входящий и исходящий доступ к порту 443, и это решило проблему для меня.

0
ответ дан Yogesh Gupta 16 August 2018 в 11:41
поделиться

Я получил эту ошибку, когда пытался создать файл virtualenv с командой virtualenv myVirtualEnv. Я просто добавил sudo перед командой; он решил все.

1
ответ дан Zeinab Abbasimazar 16 August 2018 в 11:41
поделиться
  • 1
    Это не решение: я выполняю роль root в докере и имею ту же проблему. Также вы не объясните, почему работает с правами root. – Eric 12 October 2017 в 10:00
  • 2
    @Eric, я просто использовал метод try & amp; error; Я не знаю основной цели. Это сработало для меня, поэтому я предложил. – Zeinab Abbasimazar 16 October 2017 в 06:10
0
ответ дан arslan ahmed mir 29 October 2018 в 12:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: