Установка pandas на python 3.6 (64 бит) становится неудачной [дубликат]

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

230
задан Jeremy Cook 3 October 2014 в 16:04
поделиться

31 ответ

Чтобы решить эту проблему раз и навсегда, вы можете убедиться, что у вас есть файл pip.conf.

Здесь вам нужно pip.conf, согласно документации :

В Unix файл конфигурации по умолчанию: $HOME/.config/pip/pip.conf, который уважает переменную среды XDG_CONFIG_HOME.

В macOS файл конфигурации $HOME/Library/Application Support/pip/pip.conf.

В Windows конфигурационный файл %APPDATA%\pip\pip.ini.

Ваш pip.conf должен выглядеть так:

[global]
trusted-host = pypi.python.org

pip install linkchecker установлен linkchecker ] без жалоб после создания файла pip.conf.

13
ответ дан Alex-Antoine Fortin 17 August 2018 в 21:07
поделиться

Недавно я столкнулся с той же проблемой в python 3.6 с визуальной студией 2015 года. Проведя 2 дня, я получил решение и его работу для меня.

Я ошибся при попытке установить numpy с помощью pip или из visual studio Сбор numpy Не удалось получить URL https://pypi.python.org/simple/numpy/ : Не удалось найти сертификат ssl: [SSL: CERTIFICATE_VERIFY_FAILED] проверить сертификат не удалось (_ssl.c: 748) - пропустить Не удалось найти версию, которая удовлетворяет требованию numpy (из версий:) Не найдено подходящего распределения для numpy

Разрешение:

Для ОС Windows

  1. open -> "% appdata%" Создайте папку «pip», если она не существует.
  2. В папке pip создайте файл «pip.ini».
  3. Отредактируйте файл и напишите [global] trusted-host = pypi.python.org Сохраните и закройте файл. Теперь установить с помощью pip / visual studio он отлично работает.
1
ответ дан Ankit Raval 17 August 2018 в 21:07
поделиться

Чтобы перехватить проблему проверки ssl,

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

Это говорит, что pp доверяет хосту pypi.python.org, с которого мы загружаем и доверяем его нашему пакету.

pip install --trusted-host pypi.python.org ansible

pip install --trusted-host pypi.python.org --upprade pip

7
ответ дан Arathy Jan 17 August 2018 в 21:07
поделиться

Вы можете попытаться обойти ошибку SSL, используя http вместо https. Конечно, это не оптимально с точки зрения безопасности, но если вы торопитесь, он должен сделать трюк:

pip install --index-url=http://pypi.python.org/simple/ linkchecker
9
ответ дан baxeico 17 August 2018 в 21:07
поделиться
  • 1
    Я ожидал, что ваше предложение будет работать. Безумно я получил те же самые ошибки, включая первый Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598) – Jeremy Cook 3 October 2014 в 16:00
  • 2
    Похоже на странную проблему с сетью. Вы можете получить доступ к pypi.python.org из своего браузера? – baxeico 3 October 2014 в 16:23
  • 3
    Да, довольно странно. Я могу получить доступ к нему из своего браузера, без проблем. – Jeremy Cook 3 October 2014 в 16:28
  • 4
    Итак, еще одним обходным решением является загрузка пакета tar.gz, доступного здесь pypi.python.org/pypi/LinkChecker/9.3 , и установка его с помощью: pip install LinkChecker-9.3.tar.gz – baxeico 3 October 2014 в 16:35
  • 5
    Но если пакет, который вы хотите установить, имеет зависимости, вы должны загружать и устанавливать также все зависимости, если их много, это может стать кошмаром. – baxeico 3 October 2014 в 16:37

Самый простой способ, который я нашел, - загрузить и использовать «DigiCert High Assurance EV Root CA» из DigiCert по адресу https://www.digicert.com/digicert-root-certificates.htm# root

Вы можете посетить https://pypi.python.org/ , чтобы проверить выпуск сертификата, щелкнув значок блокировки в адресной строке или увеличив ваш geek cred с помощью openssl:

$ openssl s_client -connect pypi.python.org:443
CONNECTED(00000003)
depth=1 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro,/O=Python Software Foundation/CN=www.python.org
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA

Последнее значение CN в цепочке сертификатов - это имя ЦС, которое вам нужно загрузить.

Для одноразового усилия , выполните следующие действия:

  1. Загрузите CRT из DigiCert
  2. Преобразуйте CRT в формат PEM
  3. Экспортируйте PIP_CERT переменная среды на путь файла PEM

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

curl -sO http://cacerts.digicert.com/DigiCertHighAssuranceEVRootCA.crt 
openssl x509 -inform DES -in DigiCertHighAssuranceEVRootCA.crt -out DigiCertHighAssuranceEVRootCA.pem -text
export PIP_CERT=`pwd`/DigiCertHighAssuranceEVRootCA.pem

Чтобы сделать это повторно - можно использовать DigiCertHighAssuranceEVRootCA.crt где-то общее и экспортировать PIP_CERT соответственно в ваш ~ / .bashrc.

16
ответ дан chnrxn 17 August 2018 в 21:07
поделиться
  • 1
    Использовал ваш ответ, чтобы экспортировать корневой CA нашей компании в переменную PIP_CERT и, наконец, после того, как вы попробовали все остальное, в том числе «pip --cert cert.pem», ваш способ работал ... только пакет установки пакета. БОЛЬШОЙ +1 - да, у нас есть firewal / proxy / utm. – Marlon 22 March 2016 в 18:58

Произошла такая же проблема, как попытка pip install ftputil с помощью ActivePython 2.7.8, ActivePython 3.4.1 и «запаса» Python 3.4.2 на 64-разрядной Windows 7 Enterprise. Все попытки потерпели неудачу с теми же ошибками, что и OP.

Работала над проблемой для Python 3.4.2 путем понижения до pip 1.2.1: easy_install pip==1.2.1 (см. https://stackoverflow.com/ а / 16370731/234235 ). Это же исправление также работало для ActivePython 2.7.8.

Ошибка, о которой сообщалось в марте 2013 года, по-прежнему открыта: https://github.com/pypa/pip/issues/829 .

55
ответ дан Community 17 August 2018 в 21:07
поделиться
  • 1
    Это сработало и для меня. Хотя может показаться плохой идеей, прежде всего, перейти на более раннюю версию пипса, я имел дело со старыми пакетами django, поэтому старая версия pip действительно соответствовала другим пакетам. – mknaf 2 June 2015 в 15:20
  • 2
    Проблема 829 теперь закрыта. – Ortomala Lokni 15 December 2015 в 14:48
  • 3
    Я нашел, что это отлично работает на моем ПК с Windows – MikeJ 25 April 2017 в 14:13
  • 4
    Это также работает для других команд, таких как pip list --trusted-host pypi.python.org --outdated – Igor 17 August 2017 в 15:50
  • 5
    Та же проблема здесь. Другим обходным решением является экспорт корневого сертификата компании в файл и указание pip использовать его с --cert MyCompanyRootCA.crt. – glibdud 30 April 2018 в 18:29
  • 6
    это не работало для меня :( – R Claven 3 August 2018 в 22:29

Ничто на этой странице не работало для меня, пока я не использовал параметр --verbose, чтобы увидеть, что он хочет получить файлы .pythonhosted.org, а не pypi.python.org:

pip install --trusted-host files.pythonhosted.org <package_name>

So проверьте URL-адрес, на который он фактически не работает, с помощью опции --verbose.

2
ответ дан Dan Austin 17 August 2018 в 21:07
поделиться

В моем случае я заметил, что ошибка при попытке установить соответствующий пакет. В моем случае python-heatclient требовал позиционного, что требовало pbr. Установка pbr не удалась. Когда я установил pbr явно перед установкой python-heatclient, он работал, как ожидалось.

Вызвать это не удалось venv/bin/pip install python-heatclient

Вызовы, которые преуспели

venv/bin/pip install pbr

venv/bin/pip install python-heatclient

-3
ответ дан Daniel Watrous 17 August 2018 в 21:07
поделиться

Ответы очень похожи и немного запутанны. В моем случае сертификаты в сети моей компании были проблемой. Я смог решить проблему, используя:

pip install --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org oauthlib -vvv

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

9
ответ дан Ezekiel Inalegwu Akoji 17 August 2018 в 21:07
поделиться
Ответ

Vaulstein помог мне.

Я не нашел файл pip.ini в любом месте своего компьютера. Так было и следующее.

  1. Пошел в папку AppData. Вы можете получить папку appdata, открыв командную строку и введите echo% AppData%

Или просто введите% AppData% в проводник Виндоус.

  1. Создайте папку с именем pip внутри этой папки appdata.
  2. В той папке, которую вы только что создали , создайте простой текстовый файл, называемый pip.ini
  3. Пропустив следующие настройки конфигурации в этом файле, используя простой редактор по вашему выбору.

Файл pip.ini:

[list]
format=columns

[global]
trusted-host = pypi.python.org pypi.org

Теперь вам будет хорошо идти.

1
ответ дан Johann Burgess 17 August 2018 в 21:07
поделиться

У вас есть следующие возможности для решения проблемы с CERTIFICATE_VERIFY_FAILED:

  • Используйте HTTP вместо HTTPS.
  • Используйте переменную --cert <trusted.pem> или CA_BUNDLE для укажите альтернативный комплект СА. Например. вы можете перейти к неудачному URL из веб-браузера и импортировать корневой сертификат в свою систему.
  • Запустить python -c "import ssl; print(ssl.get_default_verify_paths())", чтобы проверить текущий (проверьте, существует ли).
  • OpenSSL имеет (SSL_CERT_DIR, SSL_CERT_FILE), которые могут использоваться для указания другой базы данных сертификатов PEP-476 .
  • Используйте --trusted-host <hostname>, чтобы отметить хост как доверенный.
  • В Python используйте verify=False для requests.get (см. Проверка сертификата SSL ).
  • Используйте --proxy <proxy>, чтобы избежать проверки сертификатов.

Подробнее: Обертка TLS / SSL для объектов сокетов - Проверка сертификатов .

13
ответ дан kenorb 17 August 2018 в 21:07
поделиться

Вы можете попробовать это, чтобы игнорировать «https»:

pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org  [your package..]
2
ответ дан Maarten Bodewes 17 August 2018 в 21:07
поделиться
  • 1
    если у вас есть другие проблемы с версией pip, вы можете попробовать это pip install --trusted-host pypi.python.org --upgrade pip – – Smaillns 9 August 2017 в 04:53

В моем случае я запускал Python в минимальном изображении альпийского докера. В нем отсутствовали корневые сертификаты CA. Fix:

apk update && apk add ca-certificates

0
ответ дан Martin Melka 17 August 2018 в 21:07
поделиться

Для меня ни один из предложенных методов не работал - с использованием cert, HTTP, trusted-host.

В моем случае переключение на другую версию обработанного пакета (paho-mqtt 1.3.1 вместо paho -mqtt 1.3.0 в этом случае).

Похоже, проблема была конкретной для этой версии пакета.

0
ответ дан MiN 17 August 2018 в 21:07
поделиться

Прежде всего,

    pip install --trusted-host pypi.python.org <package name>

не работал для меня. Я продолжал получать ошибку CERTIFICATE_VERIFY_FAILED. Однако в сообщениях об ошибках я заметил ссылку на сайт «pypi.org». Таким образом, я использовал это как имя доверенного хоста вместо pypi.python.org. Это почти привело меня туда; нагрузка все еще не срабатывала с CERTIFICATE_VERIFY_FAILED, но в более поздней точке. Поиск ссылки на сайт, который был неудачным, я включил его в качестве доверенного хоста. В конечном итоге для меня это было:

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package name>
4
ответ дан Pat B. 17 August 2018 в 21:07
поделиться

Ответы на использование

pip install --trusted-host pypi.python.org <package>

работают. Но вам нужно будет проверить, есть ли перенаправления или кеши pip. В Windows 7 с pip 9.0.1 мне пришлось запустить

pip install \
  --trusted-host pypi.python.org \
  --trusted-host pypi.org \
  --trusted-host files.pythonhosted.org \
  <package>

. Вы можете найти их с помощью подробного флага.

3
ответ дан pmbotter 17 August 2018 в 21:07
поделиться

У вас может возникнуть эта проблема, если в вашем системном коде отсутствуют какие-либо сертификаты. opensuse install ca-certificates-mozilla

0
ответ дан sancelot 17 August 2018 в 21:07
поделиться

На данный момент, когда pip обновлен до 10, и теперь они изменили свой путь с pypi.python.org на files.pythonhosted.org. Обновите команду на pip --trusted-host files.pythonhosted.org install python_package

0
ответ дан Shivam Kotwalia 17 August 2018 в 21:07
поделиться

Одним из решений ( для Windows ) является создание файла с именем pip.ini в папке %AppData%\pip\ (создайте папку, если она не существует) и вставьте следующие данные:

[global]
cert = C:/certs/python_root.pem
proxy = http://my_user@my_company.com:my_password@proxy_ip:proxy_port

... и затем мы можем выполнить инструкцию по установке:

pip3 install PyQt5

Другой вариант - установить пакет, используя аргументы для прокси и сертификат ...

$ pip3 install --proxy http://my_user@my_company.com:my_password@proxy_ip:proxy_port \
   --cert C:/certs/python_root.pem PyQt5

Для преобразования файлов сертификата *.cer в требуемый формат *.pem выполните следующую команду:

$ openssl x509 -inform der -in python_root.cer -out python_root.pem

Надеюсь, это поможет кому-то!

319
ответ дан slm 17 August 2018 в 21:07
поделиться
  • 1
    Ваше обновление заставило меня задуматься. В моем случае корпоративный брандмауэр вставляет себя как доверенный хост для SSL-соединений. Я предположил, что настройка прокси-сервера была неправильной, но добавление подробностей показало, что проблема связана с SSL. Проблема с индексом-URL изменила проблему. – peater 25 September 2015 в 18:40
  • 2
    Удивительно, thx! Доверенный хозяин кажется достаточным, т.е. pip install --trusted-host pypi.python.org pypi_package. Использование --verbose показывает, что без --trusted-host соединение HTTPS завершается с ошибкой, тогда как одно и то же HTTPS-соединение пытается (а не HTTP) с --trusted-host, но оно преуспевает. – Oliver 22 December 2015 в 20:18
  • 3
    Не использует ли HTTP-версию (а затем даже доверяет ей) также угрозу безопасности? – Paŭlo Ebermann 24 June 2016 в 11:47
  • 4
    вы можете сделать его как можно короче, чтобы игнорировать параметр -index-url, попробуйте эту команду, также должно быть хорошо: pip install --trusted-host pypi.python.org pythonPackage – Alter Hu 23 August 2016 в 04:43
  • 5
    Это не работает для меня. Запуск mac os high sierra на macbookpro 15 & quot; Python 2.7 pip 9.0.1 Я пробовал оба: sudo -H pip install --trusted-host pypi.python.org numpy и sudo pip install --trusted-host pypi.python.org numpy, он всегда дает мне ту же ошибку: & quot; ; Возникла проблема с подтверждением сертификата ssl: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] версия протокола предупреждения tlsv1 (_ssl.c: 661) - пропуски Не удалось найти версию, которая удовлетворяет требованию & quot; – DaniPaniz 11 April 2018 в 18:55
  • 6
  • 7
    – avatarofhope2 16 October 2018 в 21:05

Вы можете указать cert с этим параметром:

pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker

См.: Документы »Справочное руководство» pip

При указании корневого сертификата вашей компании не работает, возможно, cURL будет работать: http://curl.haxx.se/ca/cacert.pem

Вы должны использовать файл PEM, а не CRT файл. Если у вас есть файл CRT, вам нужно будет преобразовать файл в PEM

. Также проверьте: Проверка сертификата SSL .

71
ответ дан Steven Vascellaro 17 August 2018 в 21:07
поделиться
  • 1
    Керл один безопасен. Я бы предложил использовать это. – Steve Tauber 29 September 2014 в 11:18
  • 2
    @JeremyCook это может быть время на вашем сервере, если это в прошлом, это может быть процесс проверки – Giovanni Bitliner 26 January 2015 в 21:32
  • 3
    Формат CRT не поддерживается, только формат PEM. Вам нужно будет преобразовать CRT в формат PEM с помощью openssl. Вы также должны убедиться, что загруженный пакет содержит правильный корневой центр сертификации. Пожалуйста, см. Мой ответ выше для деталей: stackoverflow.com/a/28724886/41957 . – chnrxn 28 February 2015 в 15:38
  • 4
    @JeremyCook, PEM / certs не поступали напрямую от третьей стороны, с которой вы их загрузили. Они собрали сертификаты из оригинальных источников. Третья сторона не может сгенерировать сертификат кого-то другого, если у них нет правильного ключа (который будет иметь только кто-то другой). – chnrxn 28 February 2015 в 15:43
  • 5
  • 6
    @endolith. Глядя на pip.pypa.io/en/stable/user_guide/#configuration , похоже, вы можете либо использовать переменные среды, либо файл pip.conf, на который они ссылаются постоянно, без указания команда – Cinderhaze 24 April 2018 в 13:30

Я установил pip 1.2.1 с easy_install и обновил до последней версии pip (6.0.7 в то время), которая в состоянии установить пакеты в моем случае.

easy_install pip==1.2.1
pip install --upgrade pip
7
ответ дан theofanis 17 August 2018 в 21:07
поделиться

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

1
ответ дан uingtea 17 August 2018 в 21:07
поделиться
  • 1
    Скрипач можно обойти, установив «Расшифровать трафик HTTPS». к "... только из браузеров" в Инструменты | Параметры. Это поставило вопрос для меня. – tephyr 10 July 2017 в 22:58

Я решил эту проблему, удалив мой пип и установив более старую версию pip: https://pypi.python.org/pypi/pip/1.2.1

2
ответ дан user3080641 17 August 2018 в 21:07
поделиться
  • 1
    Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - Из обзора – apomene 26 August 2016 в 07:57
  • 2
    @apomene, как OP предполагается include the essential parts of the answer here, поскольку это ссылка на двоичный файл ...? – Thomas Ayoub 26 August 2016 в 09:33
  • 3
    @ThomasAyoub, я считаю, что вы уже знаете, что вышеприведенное сообщение автоматически заполняется с SO, когда помечен ответ как только ответ на ссылку – apomene 26 August 2016 в 09:41
  • 4
    @apomene, который не отвечает на мой вопрос, я до сих пор не вижу, что OP может / должен добавить? – Thomas Ayoub 26 August 2016 в 09:44
  • 5
    @ThomasAyoub. Чтобы уточнить, мой комментарий (SO) указывает на то, что вопрос короткий, а ссылка только, что означает, что это может быть комментарий. Мое намерение состояло в том, чтобы не явным образом заявлять, что OP должен добавлять детали, регламентирующие ссылку, но детали о том, почему это отвечает на вопрос. – apomene 26 August 2016 в 09:49
56
ответ дан Community 6 September 2018 в 13:33
поделиться
334
ответ дан slm 6 September 2018 в 13:33
поделиться
0
ответ дан Thomas Devoogdt 6 September 2018 в 13:33
поделиться
0
ответ дан user2673238 6 September 2018 в 13:33
поделиться
57
ответ дан Community 29 October 2018 в 20:00
поделиться
354
ответ дан slm 29 October 2018 в 20:00
поделиться
4
ответ дан Thomas Devoogdt 29 October 2018 в 20:00
поделиться
Другие вопросы по тегам:

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