Closed kcajf closed 2 weeks ago
He @kcajf,
I'm not able to reproduce. It wouldn't solve so I replaced seagull
with my_python_proj
. (which is important to contain the same name).
Then it worked as the expected behavior describes:
~/proj
❯ pixi run --environment env1 python -c 'import mylib'
~/proj took 2s
❯ pixi run -e env1 python
Python 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:36:13) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mylib
>>>
Would you be able to find another reproducer? This is would be very helpful if I can properly reproduce it!
Sorry, that was a copy-paste error. In my example, I meant for it to show:
[feature.my-feature.pypi-dependencies]
my_lib = { path = "./my_python_proj", editable = true }
For which I still see the error.
I didn't realise that the name needed to be that of the project name in setup.py()
. I think it is confusing that my example does work if the solve-groups are different. Should it instead give an error that the name is wrong?
Hey, I've been really loving Pixi. However, I'm having a similar issue where I have this module: https://gitlab.inria.fr/bkerbl/simple-knn
As part of my project in the directory modules/simple-knn
.
I added it to my pyproject.toml as:
simple-knn = {path = "./modules/simple-knn", editable=true}
and I get the error:
failed to solve the pypi requirements of 'default' 'linux-64'
├─▶ failed to resolve pypi dependencies
├─▶ Failed to build `simple-knn @ file:///home/nyx/projects/Genesis/modules/simple-knn`
├─▶ Failed to build: `simple-knn @ file:///home/nyx/projects/Genesis/modules/simple-knn`
╰─▶ Build backend failed to determine extra requires with `build_editable()` with exit status: 1
--- stdout:
--- stderr:
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/nyx/.cache/rattler/cache/uv-cache/environments-v0/.tmpy7u8zk/lib/python3.11/site-packages/setuptools/build_meta.py", line 448, in
get_requires_for_build_editable
return self.get_requires_for_build_wheel(config_settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nyx/.cache/rattler/cache/uv-cache/environments-v0/.tmpy7u8zk/lib/python3.11/site-packages/setuptools/build_meta.py", line 325, in
get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nyx/.cache/rattler/cache/uv-cache/environments-v0/.tmpy7u8zk/lib/python3.11/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/home/nyx/.cache/rattler/cache/uv-cache/environments-v0/.tmpy7u8zk/lib/python3.11/site-packages/setuptools/build_meta.py", line 487, in run_setup
super().run_setup(setup_script=setup_script)
File "/home/nyx/.cache/rattler/cache/uv-cache/environments-v0/.tmpy7u8zk/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "<string>", line 12, in <module>
ModuleNotFoundError: No module named 'torch'
I have torch installed.
However, running pip install -e modules/simple-knn
seems to work.
This is because we always use build isolation. This is being addressed in: https://github.com/prefix-dev/pixi/issues/1124. Closing this issue for now. Please reopen if you feel I closed it too soon!
Checks
[X] I have checked that this issue has not already been reported.
[X] I have confirmed this bug exists on the latest version of pixi, using
pixi --version
.Reproducible example
Folder structure:
pixi.toml
:__init__.py
is emptysetup.py
contains:To reproduce:
If you change the solve-groups to be different (e.g. change one of them to
test-group-2
),import mylib
will work.Issue description
It seems that when you use solve-groups and editabled pypi packages, sometimes the packages don't end up getting included in the solve.
Expected behavior
it should be possible to import these packages