@@ -118,7 +118,7 @@ def current_installed_version
118
118
@current_installed_version ||= begin
119
119
delimeter = /==/
120
120
121
- version_check_cmd = "pip freeze #{ expand_virtualenv ( can_haz_virtualenv ( @new_resource ) ) } | grep -i '^ #{ @new_resource . package_name } ==' "
121
+ version_check_cmd = "#{ pip_cmd ( @new_resource ) } freeze | grep -i #{ @new_resource . package_name } =="
122
122
# incase you upgrade pip with pip!
123
123
if @new_resource . package_name . eql? ( 'pip' )
124
124
delimeter = /\s /
@@ -141,24 +141,20 @@ def candidate_version
141
141
142
142
def install_package ( name , version , timeout )
143
143
v = "==#{ version } " unless version . eql? ( 'latest' )
144
- shell_out! ( "pip install #{ expand_options ( @new_resource . options ) } #{ expand_virtualenv ( can_haz_virtualenv ( @new_resource ) ) } #{ name } #{ v } " , :timeout => timeout )
144
+ shell_out! ( "#{ pip_cmd ( @new_resource ) } install #{ expand_options ( @new_resource . options ) } #{ name } #{ v } " , :timeout => timeout )
145
145
end
146
146
147
147
def upgrade_package ( name , version , timeout )
148
148
v = "==#{ version } " unless version . eql? ( 'latest' )
149
- shell_out! ( "pip install --upgrade#{ expand_options ( @new_resource . options ) } #{ expand_virtualenv ( can_haz_virtualenv ( @new_resource ) ) } #{ @new_resource . name } #{ v } " , :timeout => timeout )
149
+ shell_out! ( "#{ pip_cmd ( @new_resource ) } install --upgrade#{ expand_options ( @new_resource . options ) } #{ @new_resource . name } #{ v } " , :timeout => timeout )
150
150
end
151
151
152
152
def remove_package ( name , version , timeout )
153
- shell_out! ( "pip uninstall -y#{ expand_options ( @new_resource . options ) } #{ expand_virtualenv ( can_haz_virtualenv ( @new_resource ) ) } #{ @new_resource . name } " , :timeout => timeout )
154
- end
155
-
156
- def expand_virtualenv ( virtualenv )
157
- virtualenv && " --environment=#{ virtualenv } "
153
+ shell_out! ( "#{ pip_cmd ( @new_resource ) } uninstall -y#{ expand_options ( @new_resource . options ) } #{ @new_resource . name } " , :timeout => timeout )
158
154
end
159
155
160
156
# TODO remove when provider is moved into Chef core
161
157
# this allows PythonPip to work with Chef::Resource::Package
162
- def can_haz_virtualenv ( nr )
163
- nr . respond_to? ( "virtualenv" ) ? nr . virtualenv : nil
158
+ def pip_cmd ( nr )
159
+ ( nr . respond_to? ( "virtualenv" ) && nr . virtualenv ) ? :: File . join ( nr . virtualenv , '/bin/pip' ) : 'pip'
164
160
end
0 commit comments