Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
89efd35c
Commit
89efd35c
authored
Dec 01, 2012
by
Stephen Fromm
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1710 from sfromm/issue1705
Fix pip module to check if requirements already installed
parents
fdf37b8c
d277953a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
22 deletions
+25
-22
library/pip
+25
-22
No files found.
library/pip
View file @
89efd35c
...
@@ -84,8 +84,16 @@ def _ensure_virtualenv(module, env, virtualenv):
...
@@ -84,8 +84,16 @@ def _ensure_virtualenv(module, env, virtualenv):
return
_run
(
'
%
s
%
s'
%
(
virtualenv
,
env
))
return
_run
(
'
%
s
%
s'
%
(
virtualenv
,
env
))
def
_is_package_installed
(
name
,
pip
,
version
=
None
):
def
_is_package_installed
(
name
,
pip
,
version
=
None
,
requirements
=
None
):
rc
,
status_stdout
,
status_stderr
=
_run
(
'
%
s freeze'
%
pip
)
cmd
=
'
%
s freeze'
%
pip
if
requirements
is
not
None
:
cmd
+=
' -r
%
s'
%
requirements
rc
,
status_stdout
,
status_stderr
=
_run
(
cmd
)
if
requirements
is
not
None
:
if
'not installed'
in
status_stderr
:
return
False
else
:
return
True
return
_get_full_name
(
name
,
version
)
.
lower
()
in
status_stdout
.
lower
()
return
_get_full_name
(
name
,
version
)
.
lower
()
in
status_stdout
.
lower
()
...
@@ -160,18 +168,6 @@ def main():
...
@@ -160,18 +168,6 @@ def main():
cmd
=
None
cmd
=
None
installed
=
None
installed
=
None
if
requirements
:
cmd
=
'
%
s
%
s -r
%
s --use-mirrors'
%
(
pip
,
command_map
[
state
],
requirements
)
rc_pip
,
out_pip
,
err_pip
=
_run
(
cmd
)
rc
+=
rc_pip
out
+=
out_pip
err
+=
err_pip
changed
=
((
_did_install
(
out
)
and
state
==
'present'
)
or
(
not
_did_install
(
out
)
and
state
==
'absent'
))
if
name
and
state
==
'latest'
:
if
name
and
state
==
'latest'
:
cmd
=
'
%
s
%
s
%
s --upgrade'
%
(
pip
,
command_map
[
state
],
name
)
cmd
=
'
%
s
%
s
%
s --upgrade'
%
(
pip
,
command_map
[
state
],
name
)
...
@@ -183,19 +179,22 @@ def main():
...
@@ -183,19 +179,22 @@ def main():
changed
=
'Successfully installed'
in
out_pip
changed
=
'Successfully installed'
in
out_pip
elif
name
:
elif
name
or
requirements
:
installed
=
_is_package_installed
(
name
,
pip
,
version
)
installed
=
_is_package_installed
(
name
,
pip
,
version
,
requirements
)
changed
=
((
installed
and
state
==
'absent'
)
or
changed
=
((
installed
and
state
==
'absent'
)
or
(
not
installed
and
state
==
'present'
))
(
not
installed
and
state
==
'present'
))
if
changed
:
if
changed
:
if
state
==
'present'
:
cmd
=
'
%
s
%
s '
%
(
pip
,
command_map
[
state
])
full_name
=
_get_full_name
(
name
,
version
)
if
name
:
else
:
if
state
==
'present'
:
full_name
=
name
full_name
=
_get_full_name
(
name
,
version
)
else
:
cmd
=
'
%
s
%
s
%
s'
%
(
pip
,
command_map
[
state
],
full_name
)
full_name
=
name
cmd
+=
'
%
s'
%
full_name
elif
requirements
:
cmd
+=
' -r
%
s'
%
requirements
if
state
==
'absent'
:
if
state
==
'absent'
:
cmd
=
cmd
+
' -y'
cmd
=
cmd
+
' -y'
...
@@ -207,6 +206,10 @@ def main():
...
@@ -207,6 +206,10 @@ def main():
out
+=
out_pip
out
+=
out_pip
err
+=
err_pip
err
+=
err_pip
if
requirements
:
changed
=
((
_did_install
(
out
)
and
state
==
'present'
)
or
(
not
_did_install
(
out
)
and
state
==
'absent'
))
if
rc
!=
0
:
if
rc
!=
0
:
if
not
out
:
if
not
out
:
msg
=
err
msg
=
err
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment