Hi DataLad team,
Contrary to my previous version of DataLad, with the latest version (datalad 0.15.3+363.g6b4d5567e) installed via
pip install git+git://github.com/datalad/datalad.git@master
,
I now unpredictably get the following error when simply trying to create a new subdataset in my superdataset via
datalad create --description "code subdataset for WP 4 of the DiSCOVERIE H2020 project" -c text2git -d . code
, which worked fine before?
[ERROR ] ImportError(cannot import name ‘AnnotatePaths’ from ‘datalad.interface.annotate_paths’ (/opt/anaconda3/lib/python3.8/site-packages/datalad/interface/annotate_paths.py)) (ImportError)
Any help solving this annoying problem would be appreciated!
Thanks a lot in advance!
Cheers,
Lukas
Important note: I uninstalled the latest version, and reinstalled pip install datalad, which installs 0.15.3, which solves the problem - may be a bug in latest version?
and the odd thing is that I cannot reproduce in a clean (non-conda) installation and it should not happen since there is no such import I can find in master version – may be some installation/upgrade went “odd”
detailed attemp
lena:/tmp
$> py=3; d=venvs/dev$py; python$py -m venv -- $d && source $d/bin/activate && python3 -m pip install git+git://github.com/datalad/datalad.git@master
Collecting git+git://github.com/datalad/datalad.git@master
Cloning git://github.com/datalad/datalad.git (to revision master) to /home/yoh/.tmp/pip-req-build-0r11nrpc
Running command git clone -q git://github.com/datalad/datalad.git /home/yoh/.tmp/pip-req-build-0r11nrpc
Running command git submodule update --init --recursive -q
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Collecting tqdm
Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Collecting simplejson
Using cached simplejson-3.17.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (136 kB)
Collecting annexremote
Using cached annexremote-1.5.0-py3-none-any.whl (25 kB)
Collecting python-gitlab
Using cached python_gitlab-2.10.1-py3-none-any.whl (197 kB)
Collecting boto
Using cached boto-2.49.0-py2.py3-none-any.whl (1.4 MB)
Collecting humanize
Using cached humanize-3.12.0-py3-none-any.whl (90 kB)
Collecting whoosh
Using cached Whoosh-2.7.4-py2.py3-none-any.whl (468 kB)
Collecting distro
Using cached distro-1.6.0-py2.py3-none-any.whl (19 kB)
Collecting patool>=1.7
Using cached patool-1.12-py2.py3-none-any.whl (77 kB)
Collecting platformdirs
Using cached platformdirs-2.4.0-py3-none-any.whl (14 kB)
Collecting requests>=1.2
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting iso8601
Downloading iso8601-1.0.2-py3-none-any.whl (9.7 kB)
Collecting keyring>=8.0
Using cached keyring-23.2.1-py3-none-any.whl (33 kB)
Collecting keyrings.alt
Using cached keyrings.alt-4.1.0-py3-none-any.whl (20 kB)
Collecting chardet>=3.0.4
Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting fasteners>=0.14
Using cached fasteners-0.16.3-py2.py3-none-any.whl (28 kB)
Collecting msgpack
Downloading msgpack-1.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322 kB)
|████████████████████████████████| 322 kB 4.2 MB/s
Collecting six
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting SecretStorage>=3.2
Using cached SecretStorage-3.3.1-py3-none-any.whl (15 kB)
Collecting jeepney>=0.4.2
Using cached jeepney-0.7.1-py3-none-any.whl (54 kB)
Collecting importlib-metadata>=3.6
Using cached importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting zipp>=0.5
Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting certifi>=2017.4.17
Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting charset-normalizer~=2.0.0
Using cached charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
Collecting cryptography>=2.0
Downloading cryptography-36.0.0-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)
|████████████████████████████████| 3.6 MB 11.5 MB/s
Collecting cffi>=1.12
Using cached cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (444 kB)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting future
Using cached future-0.18.2-py3-none-any.whl
Requirement already satisfied: setuptools in ./venvs/dev3/lib/python3.9/site-packages (from humanize->datalad==0.15.3+363.g6b4d5567e) (44.1.1)
Collecting requests-toolbelt>=0.9.1
Using cached requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB)
Building wheels for collected packages: datalad
Building wheel for datalad (PEP 517) ... done
Created wheel for datalad: filename=datalad-0.15.3+363.g6b4d5567e-py3-none-any.whl size=1272513 sha256=0f2877a04d0f54bbdcb3e5847331068ed236b2fb689a42cefe4f3283f8e667f0
Stored in directory: /home/yoh/.tmp/pip-ephem-wheel-cache-s26et2e1/wheels/36/ce/4c/e861c137319d2a01ddaeb5c4bd42e243df029bb272ba625f1d
Successfully built datalad
Installing collected packages: pycparser, urllib3, idna, charset-normalizer, cffi, certifi, zipp, requests, jeepney, cryptography, six, SecretStorage, requests-toolbelt, importlib-metadata, future, whoosh, tqdm, simplejson, python-gitlab, platformdirs, patool, msgpack, keyrings.alt, keyring, iso8601, humanize, fasteners, distro, chardet, boto, annexremote, datalad
Successfully installed SecretStorage-3.3.1 annexremote-1.5.0 boto-2.49.0 certifi-2021.10.8 cffi-1.15.0 chardet-4.0.0 charset-normalizer-2.0.7 cryptography-36.0.0 datalad-0.15.3+363.g6b4d5567e distro-1.6.0 fasteners-0.16.3 future-0.18.2 humanize-3.12.0 idna-3.3 importlib-metadata-4.8.2 iso8601-1.0.2 jeepney-0.7.1 keyring-23.2.1 keyrings.alt-4.1.0 msgpack-1.0.3 patool-1.12 platformdirs-2.4.0 pycparser-2.21 python-gitlab-2.10.1 requests-2.26.0 requests-toolbelt-0.9.1 simplejson-3.17.6 six-1.16.0 tqdm-4.62.3 urllib3-1.26.7 whoosh-2.7.4 zipp-3.6.0
python3 -m pip install git+git://github.com/datalad/datalad.git@master 12.49s user 1.09s system 95% cpu 14.181 total
(dev3) 1 25958 [1].....................................:Wed 24 Nov 2021 09:36:10 AM EST:.
lena:/tmp
$> datalad --version
datalad 0.15.0
(dev3) 1 25959 [1].....................................:Wed 24 Nov 2021 09:36:25 AM EST:.
lena:/tmp
$> rehash
(dev3) 1 25960 [1].....................................:Wed 24 Nov 2021 09:36:27 AM EST:.
lena:/tmp
$> datalad --version
datalad 0.15.3+363.g6b4d5567e
(dev3) 1 25961 [1].....................................:Wed 24 Nov 2021 09:36:28 AM EST:.
lena:/tmp
$> datalad create --description "code subdataset for WP 4 of the DiSCOVERIE H2020 project" -c text2git -d .
create(error): . (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
(dev3) 1 25962 ->1 [1].....................................:Wed 24 Nov 2021 09:36:36 AM EST:.
lena:/tmp
$> mkdir dir
(dev3) 1 25963 [1].....................................:Wed 24 Nov 2021 09:36:42 AM EST:.
lena:/tmp
$> cd dir
(dev3) 1 25964 [1].....................................:Wed 24 Nov 2021 09:36:44 AM EST:.
lena:/tmp/dir
$> datalad create --description "code subdataset for WP 4 of the DiSCOVERIE H2020 project" -c text2git -d .
[INFO ] Creating a new annex repo at /tmp/dir
[INFO ] Running procedure cfg_text2git
[INFO ] == Command start (output follows) =====
[INFO ] == Command exit (modification check follows) =====
create(ok): . (dataset)
note: I would recommend to not specify “–description”. It is a description for this particular instance/clone/sibling (whatever name you like to choose ;)) of this dataset, e.g. should be (if decide to specify to overload default host:path
) like “on my laptop somewhere”.
Thanks a lot for the prompt response and advice Yarik!
Lukas