reanahub / reana-client

REANA command-line client
http://reana-client.readthedocs.io/
MIT License
10 stars 44 forks source link

cli: broken snakemake environment when installing reana-client in Python 3.11 #706

Closed clelange closed 4 months ago

clelange commented 4 months ago

This is what I did using Python 3.11.7:

python -m pip install reana-client

This installs the following packages:

Package                Version
---------------------- ------------------
adage                  0.10.3
amqp                   5.2.0
appdirs                1.4.4
argcomplete            3.2.2
attrs                  23.2.0
bagit                  1.8.1
bracex                 2.4
bravado                10.3.2
bravado-core           6.1.0
CacheControl           0.13.1
certifi                2024.2.2
charset-normalizer     3.3.2
checksumdir            1.1.9
click                  8.1.7
coloredlogs            15.0.1
ConfigArgParse         1.7
connection_pool        0.0.3
cwltool                3.1.20210628163208
datrie                 0.8.2
decorator              5.1.1
defusedxml             0.7.1
docutils               0.20.1
dpath                  2.1.6
et-xmlfile             1.1.0
fastjsonschema         2.19.1
filelock               3.13.1
fs                     2.4.16
gitdb                  4.0.11
GitPython              3.1.42
glob2                  0.7
humanfriendly          10.0
idna                   3.6
isodate                0.6.1
Jinja2                 3.1.3
jq                     1.6.0
jsonpath-rw            1.4.0
jsonpointer            2.4
jsonref                1.1.0
jsonschema             3.2.0
jupyter_core           5.7.1
kombu                  5.3.5
lxml                   5.1.0
MarkupSafe             2.1.5
mistune                2.0.5
mock                   3.0.5
monotonic              1.6
msgpack                1.0.7
msgpack-python         0.5.6
mypy-extensions        1.0.0
nbformat               5.9.2
networkx               3.2.1
odfpy                  1.4.1
openpyxl               3.1.2
packaging              23.2
packtivity             0.16.2
pathspec               0.9.0
pip                    24.0
plac                   1.4.2
platformdirs           4.2.0
ply                    3.11
prov                   1.5.1
psutil                 5.9.8
PuLP                   2.8.0
pydot                  2.0.0
pyparsing              3.1.1
pyrsistent             0.20.0
python-dateutil        2.8.2
pytz                   2024.1
PyYAML                 6.0.1
rdflib                 5.0.0
reana-client           0.9.2
reana-commons          0.9.6
requests               2.31.0
reretry                0.11.8
rfc3987                1.3.8
ruamel.yaml            0.17.10
schema-salad           8.5.20240102191335
setuptools             65.5.0
shellescape            3.8.1
simplejson             3.19.2
six                    1.16.0
smart-open             6.4.0
smmap                  5.0.1
snakemake              7.32.4
stopit                 1.1.2
strict-rfc3339         0.7
swagger-spec-validator 3.0.3
tablib                 0.12.1
tabulate               0.8.10
throttler              1.2.2
toposort               1.10
traitlets              5.14.1
typing_extensions      4.9.0
unicodecsv             0.14.1
urllib3                2.2.1
vine                   5.1.0
wcmatch                8.4.1
webcolors              1.13
Werkzeug               3.0.1
wrapt                  1.16.0
xlrd                   2.0.1
xlwt                   1.3.0
yadage                 0.20.1
yadage-schemas         0.10.8
yte                    1.5.4

When running snakemake --help the following error shows:

Traceback (most recent call last):
  File "/Users/clange/dev/reana-tutorial/.direnv/python-3.11/bin/snakemake", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/clange/dev/reana-tutorial/.direnv/python-3.11/lib/python3.11/site-packages/snakemake/__init__.py", line 2736, in main
    parser = get_argument_parser()
             ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/clange/dev/reana-tutorial/.direnv/python-3.11/lib/python3.11/site-packages/snakemake/__init__.py", line 1607, in get_argument_parser
    lp_solvers = pulp.list_solvers(onlyAvailable=True)
                 ^^^^^^^^^^^^^^^^^
AttributeError: module 'pulp' has no attribute 'list_solvers'. Did you mean: 'listSolvers'?

The fix is to require pulp<2.8.0:

pip install pulp==2.7.0
mdonadoni commented 4 months ago

I have just released reana-commons 0.9.7, which fixes this issue

clelange commented 4 months ago

Thanks for the prompt reaction!