Description
Hi,
I've got an issue while installing namespace distribution dependencies. While it worked fine with pip==20.1.1
resolving fails with pip==20.2
.
- Python: 3.8.2
- Pip: 20.2
- Platform:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
My namespace distributions follow PEP420. However, I use a slightly different naming scheme than proposed in https://github.com/pypa/sample-namespace-packages/tree/master/native.
To reproduce the issue the following steps need to be executed:
$ git clone https://github.com/pypa/sample-namespace-packages.git && cd sample-namespace-packages
- Apply the following diff:
$ git diff
diff --git a/native/pkg_a/setup.py b/native/pkg_a/setup.py
index 8021a7a..1238c0c 100644
--- a/native/pkg_a/setup.py
+++ b/native/pkg_a/setup.py
@@ -16,7 +16,7 @@ from setuptools import setup
setup(
- name='example_pkg_a',
+ name='example_pkg.a',
version='1',
diff --git a/native/pkg_b/setup.py b/native/pkg_b/setup.py
index 872122a..1830dcc 100644
--- a/native/pkg_b/setup.py
+++ b/native/pkg_b/setup.py
@@ -16,7 +16,7 @@ from setuptools import setup
setup(
- name='example_pkg_b',
+ name='example_pkg.b',
version='1',
@@ -27,6 +27,7 @@ setup(
author_email='[email protected]',
license='Apache Software License',
+ install_requires=['example_pkg.a==1'],
- Check
pip
version:
$ pip --version
pip 20.2 from /home/ubuntu/work/projects/sample-namespace-packages/venv/lib/python3.8/site-packages/pip (python 3.8)
- Install
pkg_a
:
$ pip install native/pkg_a/
Processing ./native/pkg_a
Using legacy 'setup.py install' for example-pkg.a, since package 'wheel' is not installed.
Installing collected packages: example-pkg.a
Running setup.py install for example-pkg.a ... done
Successfully installed example-pkg.a-1
$ pip freeze
example-pkg.a==1
pkg-resources==0.0.0
- Try to install
pkg_b
which should fail:
$ pip install native/pkg_b/
Processing ./native/pkg_b
ERROR: Could not find a version that satisfies the requirement example_pkg.a==1 (from example-pkg.b==1) (from versions: none)
ERROR: No matching distribution found for example_pkg.a==1 (from example-pkg.b==1)
Though, when naming the namespace distributions as described in https://github.com/pypa/sample-namespace-packages/tree/master/native i.e. with a _
instead of a .
, the distributions install correctly.
It took me a while until I noted that the issue is the naming convention, I didn't follow thoroughly.
Question: Is the change from pip==20.1.1
to pip==20.2
on purpose?
If you need any further details, let me know.