Sage-Bionetworks / synapser

An R package providing programmatic access to Synapse
Apache License 2.0
32 stars 21 forks source link

Unable to install due to issue with synapseclient module #329

Closed rg08705 closed 7 months ago

rg08705 commented 7 months ago

Operating system

Max OSX Python 3.10.13

Description of the problem

I am experiencing issues installing the package. There seems to be an issue with calling the synapseclient module during configuration.

Actual behavior

The installation is failing with error ModuleNotFoundError: No module named 'synapseclient'. However, the output shows Requirement already satisfied: synapseclient==3.0.0 confirming the module should be installed. Additionally, I have tried installing synapseclient directly to the virtualenv via reticulate but I still encounter this same issue.

> install.packages("synapser", repos=c("http://ran.synapse.org", "http://cran.fhcrc.org"))
Installing package into ‘/Users/richardgallardo/Library/R/arm64/4.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository http://ran.synapse.org/bin/macosx/big-sur-arm64/contrib/4.2:
  cannot open URL 'http://ran.synapse.org/bin/macosx/big-sur-arm64/contrib/4.2/PACKAGES'
installing the source package ‘synapser’

trying URL 'http://ran.synapse.org/src/contrib/synapser_1.2.0.143.tar.gz'
Content type 'application/x-tar' length 156600 bytes (152 KB)
==================================================
downloaded 152 KB

* installing *source* package ‘synapser’ ...
** using staged installation
[1] "*** Using Python Configuration:"
virtualenv: r-reticulate
Using virtual environment '/Users/richardgallardo/.virtualenvs/r-reticulate' ...
+ /Users/richardgallardo/.virtualenvs/r-reticulate/bin/python -m pip install --upgrade --no-user 'requests<3' 'pandas~=2.0.0' pysftp jinja2 markupsafe
Requirement already satisfied: requests<3 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (2.31.0)
Requirement already satisfied: pandas~=2.0.0 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (2.0.3)
Requirement already satisfied: pysftp in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (0.2.9)
Requirement already satisfied: jinja2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (3.1.3)
Requirement already satisfied: markupsafe in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (2.1.4)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3) (1.26.18)
Requirement already satisfied: certifi>=2017.4.17 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3) (2023.11.17)
Requirement already satisfied: python-dateutil>=2.8.2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from pandas~=2.0.0) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from pandas~=2.0.0) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from pandas~=2.0.0) (2023.4)
Requirement already satisfied: numpy>=1.20.3 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from pandas~=2.0.0) (1.26.3)
Requirement already satisfied: paramiko>=1.17 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from pysftp) (3.4.0)
Requirement already satisfied: bcrypt>=3.2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from paramiko>=1.17->pysftp) (4.1.2)
Requirement already satisfied: cryptography>=3.3 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from paramiko>=1.17->pysftp) (42.0.0)
Requirement already satisfied: pynacl>=1.5 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from paramiko>=1.17->pysftp) (1.5.0)
Requirement already satisfied: six>=1.5 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from python-dateutil>=2.8.2->pandas~=2.0.0) (1.16.0)
Requirement already satisfied: cffi>=1.12 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from cryptography>=3.3->paramiko>=1.17->pysftp) (1.16.0)
Requirement already satisfied: pycparser in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from cffi>=1.12->cryptography>=3.3->paramiko>=1.17->pysftp) (2.21)
Using virtual environment '/Users/richardgallardo/.virtualenvs/r-reticulate' ...
+ /Users/richardgallardo/.virtualenvs/r-reticulate/bin/python -m pip install --upgrade --no-user 'synapseclient==3.0.0'
Requirement already satisfied: synapseclient==3.0.0 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (3.0.0)
Requirement already satisfied: requests<3.0,>=2.22.0 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from synapseclient==3.0.0) (2.31.0)
Requirement already satisfied: urllib3<2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from synapseclient==3.0.0) (1.26.18)
Requirement already satisfied: keyring<23.5,>=15 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from synapseclient==3.0.0) (23.4.1)
Requirement already satisfied: deprecated<2.0,>=1.2.4 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from synapseclient==3.0.0) (1.2.14)
Requirement already satisfied: wrapt<2,>=1.10 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from deprecated<2.0,>=1.2.4->synapseclient==3.0.0) (1.16.0)
Requirement already satisfied: importlib-metadata>=3.6 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from keyring<23.5,>=15->synapseclient==3.0.0) (7.0.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3.0,>=2.22.0->synapseclient==3.0.0) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3.0,>=2.22.0->synapseclient==3.0.0) (3.6)
Requirement already satisfied: certifi>=2017.4.17 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from requests<3.0,>=2.22.0->synapseclient==3.0.0) (2023.11.17)
Requirement already satisfied: zipp>=0.5 in /Users/richardgallardo/.virtualenvs/r-reticulate/lib/python3.9/site-packages (from importlib-metadata>=3.6->keyring<23.5,>=15->synapseclient==3.0.0) (3.17.0)
Error in py_run_string_impl(code, local, convert) : 
  ModuleNotFoundError: No module named 'synapseclient'
Run `reticulate::py_last_error()` for details.
Calls: generateRdFiles ... getFunctionInfo -> <Anonymous> -> py_run_string_impl
Execution halted
ERROR: configuration failed for package ‘synapser’
* removing ‘/Users/richardgallardo/Library/R/arm64/4.2/library/synapser’
Warning in install.packages :
  installation of package ‘synapser’ had non-zero exit status

Output of sessionInfo()

Using a fresh session and after attempting the installation:

> sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.6

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.2.2  tools_4.2.2     rstudioapi_0.14

Additionally, my reticulate package is v1.34.0

thomasyu888 commented 7 months ago

Hi @rg08705 ,

Thanks for using the synapser client. Apologies, but can you try and follow these instructions: https://docs.google.com/document/d/1-JbgCQxJFNVS7Brs8cFoJwE6o9wtRY2EvRVIzwg5bwA/edit.

It is unfortunate that R doesn't have great package version control, but currently this package requires reticulate < 1.28

rg08705 commented 7 months ago

Confirmed installation worked following the first troubleshooting bullet point instructions. I was also able to install the package without downgrading reticulate <v1.28 but will take your advice to do so if any issues arise.

Thank you very much for providing help!