I’ve got this dts:
<code>Pipfile
module-common
__init__.py
setup.py
common
library-common.py
module-a
__init__.py
setup.py
functional-module
library-a.py
library-b.py
</code>
<code>Pipfile
module-common
__init__.py
setup.py
common
library-common.py
module-a
__init__.py
setup.py
functional-module
library-a.py
library-b.py
</code>
Pipfile
module-common
__init__.py
setup.py
common
library-common.py
module-a
__init__.py
setup.py
functional-module
library-a.py
library-b.py
Pipfile is defined as
<code>...
[packages]
module-common = {file = "module-common", editable = true}
module-a = {file = "module-a", editable = true}
</code>
<code>...
[packages]
module-common = {file = "module-common", editable = true}
module-a = {file = "module-a", editable = true}
</code>
...
[packages]
module-common = {file = "module-common", editable = true}
module-a = {file = "module-a", editable = true}
setup.py are defined as
<code>from setuptools import find_packages, setup
setup(
name="module-common",
version="2",
...
packages=find_packages(),
...
)
</code>
<code>from setuptools import find_packages, setup
setup(
name="module-common",
version="2",
...
packages=find_packages(),
...
)
</code>
from setuptools import find_packages, setup
setup(
name="module-common",
version="2",
...
packages=find_packages(),
...
)
and
<code>from setuptools import find_packages, setup
setup(
name="module-a",
version="2",
...
packages=find_packages(),
...
)
</code>
<code>from setuptools import find_packages, setup
setup(
name="module-a",
version="2",
...
packages=find_packages(),
...
)
</code>
from setuptools import find_packages, setup
setup(
name="module-a",
version="2",
...
packages=find_packages(),
...
)
then i installed all with
<code>pipenv install -e module-common
pipenv install -e module-a
pipenv install
</code>
<code>pipenv install -e module-common
pipenv install -e module-a
pipenv install
</code>
pipenv install -e module-common
pipenv install -e module-a
pipenv install
pip list
is correctly showing my packages into the dts
so, in library-a I want to use a function from library-common,
but this declaration of library-a fails
<code>from common.library-common import SomeClass
print(f"function return: {SomeClass.function()}")
</code>
<code>from common.library-common import SomeClass
print(f"function return: {SomeClass.function()}")
</code>
from common.library-common import SomeClass
print(f"function return: {SomeClass.function()}")
and results in:
<code>NameError: name 'library-common' is not defined
</code>
<code>NameError: name 'library-common' is not defined
</code>
NameError: name 'library-common' is not defined
but if I declare
<code>import common
print(f"function return: {common.common-function.SomeClass.function()}")
</code>
<code>import common
print(f"function return: {common.common-function.SomeClass.function()}")
</code>
import common
print(f"function return: {common.common-function.SomeClass.function()}")
I got the correct answer.
what am I missing here? how do I get first notation to work?
the purpose is trying not touch library-a code, leave the imports as they are to avoid refactoring the whole codebase