You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
add sphinxcontrib-serializinghtml failed:
Traceback (most recent call last):
File "/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.9/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/synchronizers.py", line 190, in install_candidate
self.manager.install(can)
File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/manager.py", line 38, in install
installer(candidate.build(), self.environment, candidate.direct_url())
File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/installers.py", line 160, in install_wheel_with_cache
dist_info_dir = _install_wheel(
File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/installers.py", line 259, in _install_wheel
destination.finalize_installation(
File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/installers.py", line 83, in finalize_installation
target.symlink_to(child)
File "/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.9/lib/python3.9/pathlib.py", line 1403, in symlink_to
self._accessor.symlink(target, self, target_is_directory)
File "/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.9.9/lib/python3.9/pathlib.py", line 456, in symlink
return os.symlink(a, b)
FileExistsError: [Errno 17] File exists: '/home/pawamoy/.cache/pdm/packages/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any/lib/sphinxcontrib' -> '/media/data/dev/mkdocstrings/__pypackages__/3.7/lib/sphinxcontrib'
Actual behavior
Namespace packages expose directories with the same name. If namespace package N.A is already installed, trying to install N.B fails, because directory N already exists.
Expected behavior
In the case of namespace packages, instead of symlinking the top directory, it should mkdir the top directory and symlink the namespace packages instead. Probably edgy.
An alternative would be to provide a configuration option to disable symlinks (pth files seemed to work better).
Finally, I took both 😃 , namespace packages of all kinds(PEP 420, pkgutil, pkg_resources) should work fine with symlinks, and also provide a configuration for rare cases that don't work.
Related to #817
Steps to reproduce
pdm install -v
with cache feature enabled.Actual behavior
Namespace packages expose directories with the same name. If namespace package N.A is already installed, trying to install N.B fails, because directory N already exists.
Expected behavior
In the case of namespace packages, instead of symlinking the top directory, it should mkdir the top directory and symlink the namespace packages instead. Probably edgy.
An alternative would be to provide a configuration option to disable symlinks (pth files seemed to work better).
Environment Information
The text was updated successfully, but these errors were encountered: