Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

user is prompted for miniconda even if anaconda already present #607

Closed
cderv opened this issue Oct 12, 2019 · 7 comments
Closed

user is prompted for miniconda even if anaconda already present #607

cderv opened this issue Oct 12, 2019 · 7 comments

Comments

@cderv
Copy link
Contributor

@cderv cderv commented Oct 12, 2019

It may be by design but I was surprised by this behavior, so I share it

I already have Anaconda installed, and it is found by reticulate, but now I am prompted about miniconda

> library(reticulate)
> py_config()
No non-system installation of Python could be found.
Would you like to download and install Miniconda?
Miniconda is an open source environment management system for Python.
See https://docs.conda.io/en/latest/miniconda.html for more details.

Would you like to install Miniconda? [Y/n]: n
Installation aborted.
python:         C:\Users\chris\Anaconda3\envs\r-reticulate\python.exe
libpython:      C:/Users/chris/Anaconda3/envs/r-reticulate/python37.dll
pythonhome:     C:\Users\chris\Anaconda3\envs\r-reticulate
version:        3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 22:01:29) [MSC v.1900 64 bit (AMD64)]
Architecture:   64bit
numpy:           [NOT FOUND]

python versions found: 
 C:\Users\chris\Anaconda3\envs\r-reticulate\python.exe
 C:\Users\chris\Anaconda3\python.exe
 C:\Users\chris\Anaconda3\envs\docker\python.exe

I would have expected reticulate to find my anaconda installation, and, possibly suggest to switch to miniconda if better. I find it odd to offer to download an other distribution whereas I have one working.

@kevinushey
Copy link
Collaborator

@kevinushey kevinushey commented Oct 14, 2019

This was by design (although perhaps we can still reconsider). Our intention was that, unless the user has explicitly requested a particular version of Python with one of the use_*() helpers, we should prompt the user to install Miniconda and make that the default.

Note that you will only be prompted once, and rejecting that prompt is "sticky" (you won't get bugged about it again on the same account / machine)

@cderv
Copy link
Contributor Author

@cderv cderv commented Oct 14, 2019

I see. Thanks for the clarification ! I guess I should always use use_* to get going. And the message indeed appears only once.

I guess it just feels unexpected when you already have anaconda configured to get advice to download the little brother miniconda. I would have considered to be prompted if no Python was found or if on windows not a python with conda.
But maybe there is a change in reticulate to consider that it should work better and exclusively with miniconda and it means I should switch from Anaconda to miniconda ?

@jjallaire
Copy link
Member

@jjallaire jjallaire commented Oct 14, 2019

@cderv
Copy link
Contributor Author

@cderv cderv commented Oct 14, 2019

That is completly understandable. This is the approach with TinyTex distribution too, that saves a lot of painful problem with Rmarkdown pdf rendering, regarding LaTex configuration.

This is fine by me as when you say no it is not promped again. I'll document internally to our users to use miniconda with reticulate, also specify explicitly the python version.

Thanks a lot for your precision.

@kevinushey
Copy link
Collaborator

@kevinushey kevinushey commented Oct 23, 2019

I've now made this change: if an Anaconda environment is available, it will be used in preference to Miniconda.

@liuyigh
Copy link

@liuyigh liuyigh commented Mar 11, 2020

This was by design (although perhaps we can still reconsider). Our intention was that, unless the user has explicitly requested a particular version of Python with one of the use_*() helpers, we should prompt the user to install Miniconda and make that the default.

Note that you will only be prompted once, and rejecting that prompt is "sticky" (you won't get bugged about it again on the same account / machine)

And what can I do to get that prompt again now that I changed my mind? Thanks!

@kevinushey
Copy link
Collaborator

@kevinushey kevinushey commented Mar 11, 2020

The response is stored in a file located at the path referenced by:

reticulate:::miniconda_meta_path()

If you remove that file, then reticulate will prompt again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.