Closed
Description
Bug Report
Description
Installing DVC via conda results in funcy 2.0 being added to the environment. Not sure what has changed compared to funcy < 2.0 but we get errors, particularly with git hooks.
Reproduce
The following conda environment definition file works:
name: dvc_latest
channels:
- conda-forge
- default
dependencies:
- dvc=2.51
- dvc-ssh
- dvc-gs
- dvc-s3
- snakemake
- eido
- peppy=0.35.5
- funcy<2.0
- mamba
- drmaa
- click
- pv
- git>=2.7.2
But failing to pin funcy<2.0 results in the following traceback:
git commit -m "message"
Traceback (most recent call last):
File "/path/to/lib/python3.11/site-packages/dvc/cli/__init__.py", line 185, in main
ret = cmd.do_run()
^^^^^^^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/cli/command.py", line 36, in do_run
return self.run()
^^^^^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/commands/git_hook.py", line 13, in run
from dvc.repo import Repo
File "/path/to/lib/python3.11/site-packages/dvc/repo/__init__.py", line 53, in <module>
class Repo:
File "/path/to/lib/python3.11/site-packages/dvc/repo/__init__.py", line 77, in Repo
from dvc.repo.status import status # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/repo/status.py", line 4, in <module>
from funcy.py3 import cat
ModuleNotFoundError: No module named 'funcy.py3'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/directflow/TumourProgressionGroupTemp/projects/dvc/envs/dvc_stable/bin/dvc", line 10, in <module>
sys.exit(main())
^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/cli/__init__.py", line 211, in main
ret = _log_exceptions(exc) or 255
^^^^^^^^^^^^^^^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/cli/__init__.py", line 130, in _log_exceptions
_log_unknown_exceptions()
File "/path/to/lib/python3.11/site-packages/dvc/cli/__init__.py", line 41, in _log_unknown_exceptions
from dvc.info import get_dvc_info
File "/path/to/lib/python3.11/site-packages/dvc/info.py", line 12, in <module>
from dvc.repo import Repo
File "/path/to/lib/python3.11/site-packages/dvc/repo/__init__.py", line 53, in <module>
class Repo:
File "/path/to/lib/python3.11/site-packages/dvc/repo/__init__.py", line 77, in Repo
from dvc.repo.status import status # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/lib/python3.11/site-packages/dvc/repo/status.py", line 4, in <module>
from funcy.py3 import cat
ModuleNotFoundError: No module named 'funcy.py3'
Comparing funcy 2.0 versus 1.18 I can see that py3.py
(referenced in the callback above) has disappeared. I can't see any changelog to figure out where that functionality has moved to.
In the short term, perhaps you could pin funcy to <2.0 in the conda recipe?
Expected
Expected DVC to work ;)
Environment information
See environnment definition file above.
Metadata
Metadata
Assignees
Labels
No labels