2017-09-28 19 views
0

pip 설치를 실행하는 동안 불안한 플랫폼 및 sni 누락 경고가 나타납니다. 나는이 문제를 보여 어쩌면 약간의 도움을받을 수 & 요리사의 요리 책 작은 방랑 파일을 작성pip install insecureplatformwarning snimissingwarning 우분투 14.04 python 2.7.6

https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2

: 나는 아래 행운 않고 오류 메시지에 제시된 지침을 따르려고 노력했습니다 . 경고는 pip 패키지를 설치할 때마다 나타납니다. 또한 pip 설치 옵션을 다양하게 조합하여 버전 핍 (8.1.2 vs 9.0.1)을 다양하게 시도했습니다. 어떤 도움을 주셔서 감사합니다.

공공 GitHub의 리포 아래에 포함 된 코드 : https://github.com/marc-swingler/urllib_issue

요구 사항 : 방랑과 버추얼

는 실행하려면

UPDATE를 방랑 :: 찾을 수이 스레드를 https://github.com/pypa/pip/issues/4098

는 9.0 핍 밝혀 .1 번들과 함께 제공되는 libs 때문에 멋지지 않습니다. 또한 urllib3 및/또는 요청보다는 ndg-httpsclient를 설치하십시오. 사용자 안내서에 언급 된 apt 패키지는 필요하지 않으며 처음부터 빌드 할 필요가 없으므로 바퀴를 사용할 수 있습니다. ndg-httpsclient가 설치되면 경고가 사라지고 추가 pip 설치가 원활하게 진행됩니다. 나 또한이 버전의 ppt를 파이썬 -pip 패키지로 부트 스트랩 (bootstrap pip)한다. (관심있는 사람이 있다면 게시하겠습니다.) Apt는 처음에 pip v1.5.4를 설치합니다. 그런 다음 스크립트는 pip 8.1.2로 업데이트되고 아래 코드와 유사하게 진행됩니다. pip를 업그레이드 할 때 "--disable-pip-version-check"옵션을 제거하면됩니다.

Vagrantfile :

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.box = "ubuntu/trusty64" 
    config.vm.network "private_network", type: "dhcp" 
    config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" 
    config.vm.provision "chef_solo" do |chef| 
      chef.add_recipe("foo") 
    end 
    config.vm.provider "virtualbox" do |v| 
      v.memory = 4096 
    end 
end 

요리 책/foo는/조리법/default.rb :

pip_installer_path = '/tmp/get-pip.py' 
remote_file "download_pip_installer" do 
    path pip_installer_path 
    source 'https://bootstrap.pypa.io/get-pip.py' 
    owner 'root' 
    group 'root' 
    mode '0500' 
    not_if 'which pip' 
end 
execute 'bootstrap_pip' do 
    command "python #{pip_installer_path}" 
    not_if "which pip" 
end 
cookbook_file 'delete_pip_installer' do 
    path pip_installer_path 
    action :delete 
end 

pip_packages = { 
    'pip' => { 'version' => '8.1.2', 'extras' => nil }, 
    'ndg-httpsclient' => { 'version' => '0.4.3', 'extras' => nil }, 
    'botocore' => { 'version' => '1.7.18', 'extras' => nil }, 
    'pystache' => { 'version' => '0.5.4', 'extras' => nil } 
} 
pip_packages.each do |package_name, package_info| 
    package_version = package_info['version'] 
    package_extras = package_info['extras'] 
    package_spec = package_name 
    unless package_extras.nil? or package_extras.length < 1 
     package_spec = package_spec + '[' 
     package_extras.each do |package_extra| 
      package_spec = package_spec + package_extra + ',' 
     end 
     package_spec[-1] = ']' 
    end 
    package_spec = package_spec + '==' + package_version 
    execute package_spec do 
     command "pip --disable-pip-version-check install -U #{package_spec}" 
     not_if "test #{package_version} = `pip --disable-pip-version-check list 2>/dev/null | sed -rn 's/^#{package_name} \\(([0-9.]+)\\)/\\1/p'`" 
    end 
end 

요리 책/metadata.rb

나는 해결책을 발견 위에서 언급 한 바와 같이
name    'foo' 
maintainer  'foo' 
maintainer_email '[email protected]' 
license   'foo' 
description  'foo' 
long_description 'foo' 
version   '0.0.0' 

답변