2017-09-28 14 views
0

pipインストールを実行中に安全でないプラットフォームとsniが表示されなくなりました。私は問題を実証し、おそらくいくつかの助けを得るために&シェフの料理の小さなベイグラントファイルを書いたpip install insecureplatformwarning snimissingwarning ubuntu 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

要件:ベイグラントとVirtualBoxの

は、実行するには:

UPDATEを放浪::見つかり、このスレッドをhttps://github.com/pypa/pip/issues/4098

は9.0 PIP判明します.1はそれにバンドルされているlibsのためうまくいきません。また、urllib3および/または要求ではなく、ndg-httpsclientをインストールしてください。ユーザーガイドに記載されているaptパッケージは必須ではなく、最初からビルドする必要はなく、ホイールを使用することもできます。 ndg-httpsclientがインストールされると、警告が消え、追加のpipインストールがスムーズに行われます。私はまた、これが動作するapt python-pipパッケージを使用して、私がブートストラップするバージョンのバージョンを持っています。 (興味があれば投稿します)。最初に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' 

答えて