Commit c5e54ad3 by Arun Babu Neelicattu Committed by Sébastien Eustace

Fix support for url sourced packages in pip installer (#1306)

This change fixes the installation of packages using a url source.
Previously, the installer attempted to install the package using the
name ignoring the source url.
parent 8c0e1d69
......@@ -139,6 +139,9 @@ class PipInstaller(BaseInstaller):
package.source_url, package.source_reference, package.name
)
if package.source_type == "url":
return "{}#egg={}".format(package.source_url, package.name)
return "{}=={}".format(package.name, package.version)
def create_temporary_requirement(self, package):
......
......@@ -26,6 +26,19 @@ def test_requirement():
assert expected == result
def test_requirement_source_type_url():
installer = PipInstaller(NullEnv(), NullIO(), Pool())
foo = Package("foo", "0.0.0")
foo.source_type = "url"
foo.source_url = "https://somehwere.com/releases/foo-1.0.0.tar.gz"
result = installer.requirement(foo, formatted=True)
expected = "{}#egg={}".format(foo.source_url, foo.name)
assert expected == result
def test_install_with_non_pypi_default_repository():
pool = Pool()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment