Bug 1880708

Summary: The base environemnt is invalid
Product: [Fedora] Fedora Reporter: proletarius101
Component: condaAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: orion, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: conda-4.8.5-2.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-22 02:12:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description proletarius101 2020-09-19 06:26:08 UTC
Description of problem:
The base environment is set to be in `/usr`, where conda has no permission to write anything into.

Moreover, it's strange that we have to append `-c base` to every conda command whereas the expected behavior is that the default env is selected automatically.

Version-Release number of selected component (if applicable):
conda-4.8.4-1.fc33.noarch

How reproducible:


Steps to Reproduce:
1. conda install argcomplete -c base
2. 
3.

Actual results:

NoBaseEnvironmentError: This conda installation has no default base environment. Use
'conda create' to create new environments and 'conda activate' to
activate environments.


Expected results:
argcomplete gets installed

Additional info:

Comment 1 Orion Poplawski 2020-09-19 20:36:10 UTC
This is pretty much how it is expected to work in Fedora.  You can use conda to create and manage new environments, but it doesn't replace dnf for managing the system.  Let us know where you think this should be better documented (i.e. where would you have looked?).

Also, I'm not quite sure what you mean about having to add -c base, I get the same error with out it. :)

Comment 2 proletarius101 2020-09-20 05:15:31 UTC
> Also, I'm not quite sure what you mean about having to add -c base, I get the same error with out it. :)

Oh, that should be -n I think. I just want to switch to the base env.

> i.e. where would you have looked?

Maybe https://developer.fedoraproject.org/tech/languages/python/scipy.html. Or simply in the description of conda (such that dnf info shows it). Or when it prompt to initialize the base env, explain that we should actually create new env instead of using the base env.

Comment 3 Orion Poplawski 2020-09-22 02:12:17 UTC
I've added a note to the description:

The Fedora conda base environment is special.  Unlike a standard
anaconda install base environment it is essentially read-only.  You
can only use conda to create and manage new environments.

and while the error message above is a bit strange, it is essentially correct - use conda create to make a new environment.

Comment 4 proletarius101 2020-09-22 04:58:44 UTC
Thanks! That looks good.