Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c8354c6

Browse files
committed
install pip via setuptools 0.8.x
1 parent a96af3b commit c8354c6

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

attributes/default.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@
3838
default['python']['checksum'] = '3b477554864e616a041ee4d7cef9849751770bc7c39adaf78a94ea145c488059'
3939
default['python']['configure_options'] = %W{--prefix=#{python['prefix_dir']}}
4040

41-
default['python']['distribute_script_url'] = 'http://python-distribute.org/distribute_setup.py'
42-
default['python']['distribute_option']['download_base'] = 'https://pypi.python.org/packages/source/d/distribute/'
41+
default['python']['setuptools_script_url'] = 'https://bitbucket.org/pypa/setuptools/raw/0.8/ez_setup.py'
42+
default['python']['pip_script_url'] = 'https://raw.github.com/pypa/pip/master/contrib/get-pip.py'

recipes/pip.rb

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,40 @@
3333
pip_binary = "/usr/local/bin/pip"
3434
end
3535

36-
# Ubuntu's python-setuptools, python-pip and python-virtualenv packages
37-
# are broken...this feels like Rubygems!
38-
# http://stackoverflow.com/questions/4324558/whats-the-proper-way-to-install-pip-virtualenv-and-distribute-for-python
39-
# https://bitbucket.org/ianb/pip/issue/104/pip-uninstall-on-ubuntu-linux
40-
remote_file "#{Chef::Config[:file_cache_path]}/distribute_setup.py" do
41-
source node['python']['distribute_script_url']
36+
if node['python']['install_method'] == 'source'
37+
ez_binary = "#{node['python']['prefix_dir']}/bin/easy_install"
38+
elsif platform_family?("rhel")
39+
ez_binary = "/usr/bin/easy_install"
40+
elsif platform_family?("smartos")
41+
ez_binary = "/opt/local/bin/easy_install"
42+
else
43+
ez_binary = "/usr/local/bin/easy_install"
44+
end
45+
46+
remote_file "#{Chef::Config[:file_cache_path]}/ez_setup.py" do
47+
source node['python']['setuptools_script_url']
48+
mode "0644"
49+
not_if { ::File.exists?(ez_binary) }
50+
end
51+
52+
remote_file "#{Chef::Config[:file_cache_path]}/get-pip.py" do
53+
source node['python']['pip_script_url']
4254
mode "0644"
4355
not_if { ::File.exists?(pip_binary) }
4456
end
4557

58+
execute "install-setuptools" do
59+
cwd Chef::Config[:file_cache_path]
60+
command <<-EOF
61+
#{node['python']['binary']} ez_setup.py
62+
EOF
63+
not_if { ::File.exists?(ez_binary) }
64+
end
65+
4666
execute "install-pip" do
4767
cwd Chef::Config[:file_cache_path]
4868
command <<-EOF
49-
#{node['python']['binary']} distribute_setup.py --download-base=#{node['python']['distribute_option']['download_base']}
50-
#{::File.dirname(pip_binary)}/easy_install pip
69+
#{node['python']['binary']} get-pip.py
5170
EOF
5271
not_if { ::File.exists?(pip_binary) }
5372
end

0 commit comments

Comments
 (0)