Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
e99ea5d0
Unverified
Commit
e99ea5d0
authored
Mar 03, 2022
by
Ben Altieri
Committed by
GitHub
Mar 03, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove pip_editable_install wrapper
Resolves: #4265
parent
e345879d
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
22 additions
and
31 deletions
+22
-31
src/poetry/installation/executor.py
+3
-8
src/poetry/installation/pip_installer.py
+8
-4
src/poetry/masonry/builders/editable.py
+3
-3
src/poetry/utils/pip.py
+0
-6
tests/installation/test_executor.py
+5
-5
tests/masonry/builders/test_editable_builder.py
+3
-5
No files found.
src/poetry/installation/executor.py
View file @
e99ea5d0
...
...
@@ -26,7 +26,6 @@ from poetry.utils.authenticator import Authenticator
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.helpers
import
pluralize
from
poetry.utils.helpers
import
safe_rmtree
from
poetry.utils.pip
import
pip_editable_install
from
poetry.utils.pip
import
pip_install
...
...
@@ -115,12 +114,8 @@ class Executor:
def
pip_install
(
self
,
req
:
Path
|
Link
,
upgrade
:
bool
=
False
,
editable
:
bool
=
False
)
->
int
:
func
=
pip_install
if
editable
:
func
=
pip_editable_install
try
:
func
(
req
,
self
.
_env
,
upgrade
=
upgrad
e
)
pip_install
(
req
,
self
.
_env
,
upgrade
=
upgrade
,
editable
=
editabl
e
)
except
EnvCommandError
as
e
:
output
=
decode
(
e
.
e
.
output
)
if
(
...
...
@@ -572,11 +567,11 @@ class Executor:
with
builder
.
setup_py
():
if
package
.
develop
:
return
self
.
pip_install
(
req
,
editable
=
True
)
return
self
.
pip_install
(
req
,
upgrade
=
True
,
editable
=
True
)
return
self
.
pip_install
(
req
,
upgrade
=
True
)
if
package
.
develop
:
return
self
.
pip_install
(
req
,
editable
=
True
)
return
self
.
pip_install
(
req
,
upgrade
=
True
,
editable
=
True
)
return
self
.
pip_install
(
req
,
upgrade
=
True
)
...
...
src/poetry/installation/pip_installer.py
View file @
e99ea5d0
...
...
@@ -14,7 +14,6 @@ from poetry.core.pyproject.toml import PyProjectTOML
from
poetry.installation.base_installer
import
BaseInstaller
from
poetry.utils._compat
import
encode
from
poetry.utils.helpers
import
safe_rmtree
from
poetry.utils.pip
import
pip_editable_install
from
poetry.utils.pip
import
pip_install
...
...
@@ -231,15 +230,20 @@ class PipInstaller(BaseInstaller):
with
builder
.
setup_py
():
if
package
.
develop
:
return
pip_editable_install
(
directory
=
req
,
environment
=
self
.
_env
return
pip_install
(
directory
=
req
,
environment
=
self
.
_env
,
upgrade
=
True
,
editable
=
True
,
)
return
pip_install
(
path
=
req
,
environment
=
self
.
_env
,
deps
=
False
,
upgrade
=
True
)
if
package
.
develop
:
return
pip_editable_install
(
directory
=
req
,
environment
=
self
.
_env
)
return
pip_install
(
directory
=
req
,
environment
=
self
.
_env
,
upgrade
=
True
,
editable
=
True
)
return
pip_install
(
path
=
req
,
environment
=
self
.
_env
,
deps
=
False
,
upgrade
=
True
)
def
install_git
(
self
,
package
:
Package
)
->
None
:
...
...
src/poetry/masonry/builders/editable.py
View file @
e99ea5d0
...
...
@@ -16,7 +16,7 @@ from poetry.core.semver.version import Version
from
poetry.utils._compat
import
WINDOWS
from
poetry.utils._compat
import
decode
from
poetry.utils.helpers
import
is_dir_writable
from
poetry.utils.pip
import
pip_
editable_
install
from
poetry.utils.pip
import
pip_install
if
TYPE_CHECKING
:
...
...
@@ -93,14 +93,14 @@ class EditableBuilder(Builder):
try
:
if
self
.
_env
.
pip_version
<
Version
.
from_parts
(
19
,
0
):
pip_
editable_install
(
self
.
_path
,
self
.
_env
)
pip_
install
(
self
.
_path
,
self
.
_env
,
upgrade
=
True
,
editable
=
True
)
else
:
# Temporarily rename pyproject.toml
shutil
.
move
(
str
(
self
.
_poetry
.
file
),
str
(
self
.
_poetry
.
file
.
with_suffix
(
".tmp"
))
)
try
:
pip_
editable_install
(
self
.
_path
,
self
.
_env
)
pip_
install
(
self
.
_path
,
self
.
_env
,
upgrade
=
True
,
editable
=
True
)
finally
:
shutil
.
move
(
str
(
self
.
_poetry
.
file
.
with_suffix
(
".tmp"
)),
...
...
src/poetry/utils/pip.py
View file @
e99ea5d0
...
...
@@ -53,9 +53,3 @@ def pip_install(
return
environment
.
run_pip
(
*
args
)
except
EnvCommandError
as
e
:
raise
PoetryException
(
f
"Failed to install {path.as_posix()}"
)
from
e
def
pip_editable_install
(
directory
:
Path
|
Link
,
environment
:
Env
)
->
int
|
str
:
return
pip_install
(
path
=
directory
,
environment
=
environment
,
editable
=
True
,
deps
=
False
,
upgrade
=
True
)
tests/installation/test_executor.py
View file @
e99ea5d0
...
...
@@ -106,9 +106,7 @@ def test_execute_executes_a_batch_of_operations(
mock_file_downloads
:
None
,
env
:
MockEnv
,
):
pip_editable_install
=
mocker
.
patch
(
"poetry.installation.executor.pip_editable_install"
)
pip_install
=
mocker
.
patch
(
"poetry.installation.executor.pip_install"
)
config
.
merge
({
"cache-dir"
:
tmp_dir
})
...
...
@@ -171,9 +169,11 @@ Package operations: 4 installs, 1 update, 1 removal
expected
=
set
(
expected
.
splitlines
())
output
=
set
(
io
.
fetch_output
()
.
splitlines
())
assert
output
==
expected
assert
len
(
env
.
executed
)
==
5
assert
len
(
env
.
executed
)
==
1
assert
return_code
==
0
pip_editable_install
.
assert_called_once
()
assert
pip_install
.
call_count
==
5
assert
pip_install
.
call_args
.
kwargs
.
get
(
"upgrade"
,
False
)
assert
pip_install
.
call_args
.
kwargs
.
get
(
"editable"
,
False
)
def
test_execute_shows_skipped_operations_if_verbose
(
...
...
tests/masonry/builders/test_editable_builder.py
View file @
e99ea5d0
...
...
@@ -192,15 +192,13 @@ if __name__ == '__main__':
def
test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts
(
mocker
:
MockerFixture
,
extended_poetry
:
Poetry
,
tmp_dir
:
str
):
pip_editable_install
=
mocker
.
patch
(
"poetry.masonry.builders.editable.pip_editable_install"
)
pip_install
=
mocker
.
patch
(
"poetry.masonry.builders.editable.pip_install"
)
env
=
MockEnv
(
path
=
Path
(
tmp_dir
)
/
"foo"
)
builder
=
EditableBuilder
(
extended_poetry
,
env
,
NullIO
())
builder
.
build
()
pip_
editable_
install
.
assert_called_once_with
(
extended_poetry
.
pyproject
.
file
.
path
.
parent
,
env
pip_install
.
assert_called_once_with
(
extended_poetry
.
pyproject
.
file
.
path
.
parent
,
env
,
upgrade
=
True
,
editable
=
True
)
assert
[]
==
env
.
executed
...
...
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