ContinuumIO / anaconda-issues

Anaconda issue tracking
648 stars 223 forks source link

Support spaces in the install path for the installers #716

Open csoja opened 8 years ago

csoja commented 8 years ago

There are cases on UNIX where a user wants to be able install Anaconda on a path that has spaces. (@maysonicboom) (Currently the installer does not support this and gives the user the correct warning message.)

goanpeca commented 7 years ago

Lets use this issue @mingwandroid as a placeholder for any issue related to spaces

uctptep commented 7 years ago

I just experienced this issue with Anaconda3 5.0.0 and Python 3 on Windows 10 as described in https://github.com/ContinuumIO/anaconda-issues/issues/1029

rsokl commented 6 years ago

What is the status of this issue? One of my students just hit this issue on Windows.

mingwandroid commented 6 years ago

Should be fixed, but really, try not to use paths with spaces if you can avoid it.

rsokl commented 6 years ago

The default directory structure and anaconda-installation location on Windows has space in it for the average user. I know not to do this myself, but it is hard to deftly instruct some ~200 high school students in an online course towards this end.

Was there ever a PR that resolved this?

chrisconlan commented 6 years ago

I just tried ignoring the alert about spaces in usernames and following through with the installation. After working for a few hours, Anaconda Prompt ended up losing track of my virtual environments.

Using thinks like C:\Users\CHRISC~1\Anaconda3 as an installation path doesn't work. Installer treats ~ as an illegal character.

Installing as root uses C:\ProgramData\Anaconda3 by default on Windows 10, which solves the issue of spaces in the path. If this continues to work as a temporary solution, I am fine with it.

stevengj commented 6 years ago

It looks like the required changes to the Unix installer.sh are fairly minor. Basically, you just need to tell it to use the bash getopts built-in rather than the getopt command (which doesn't handle spaces), add a few missing " marks, and disable some code that checked for spaces in the prefix.

Here is a minimal hack to illustrate this, which works on my machine. (I just disabled the byte-count check here.)

--- old.sh  2018-11-05 16:35:53.000000000 -0500
+++ new.sh  2018-11-05 16:35:40.000000000 -0500
@@ -76,7 +76,7 @@
 -t           run package tests after installation (may install conda-build)
 "

-if which getopt > /dev/null 2>&1; then
+if false; then
     OPTS=$(getopt bfhp:sut "$*" 2>/dev/null)
     if [ ! $? ]; then
         printf "%s\\n" "$USAGE"
@@ -164,7 +164,7 @@
 fi

 # verify the size of the installer
-if ! wc -c "$THIS_PATH" | grep     38019315 >/dev/null; then
+if  wc -c "$THIS_PATH" | grep     38019319 >/dev/null; then
     printf "ERROR: size of %s should be     38019315 bytes\\n" "$THIS_FILE" >&2
     exit 1
 fi
@@ -297,7 +297,7 @@
     fi
 fi # !BATCH

-case "$PREFIX" in
+case "PREFIX" in
     *\ * )
         printf "ERROR: Cannot install into directories with spaces\\n" >&2
         exit 1
@@ -342,8 +342,8 @@
 fi

 PRECONDA="$PREFIX/preconda.tar.bz2"
-bunzip2 -c $PRECONDA | tar -xf - --no-same-owner || exit 1
-rm -f $PRECONDA
+bunzip2 -c "$PRECONDA" | tar -xf - --no-same-owner || exit 1
+rm -f "$PRECONDA"

 PYTHON="$PREFIX/bin/python"
 MSGS="$PREFIX/.messages.txt"
@@ -364,7 +364,7 @@
     fi
     PKG_PATH="$PREFIX"/pkgs/$1
     PKG="$PKG_PATH".tar.bz2
-    mkdir -p $PKG_PATH || exit 1
+    mkdir -p "$PKG_PATH" || exit 1
     bunzip2 -c "$PKG" | tar -xf - -C "$PKG_PATH" --no-same-owner || exit 1
     "$PREFIX/pkgs/python-3.7.0-hc167b69_0/bin/python" -E -s \
         "$PREFIX"/pkgs/.install.py $INST_OPT --root-prefix="$PREFIX" --link-dist="$1" || exit 1
@@ -422,7 +422,7 @@

 cat "$MSGS"
 rm -f "$MSGS"
-$PYTHON -E -s "$PREFIX/pkgs/.cio-config.py" "$THIS_PATH" || exit 1
+"$PYTHON" -E -s "$PREFIX/pkgs/.cio-config.py" "$THIS_PATH" || exit 1
 printf "installation finished.\\n"

 if [ "$PYTHONPATH" != "" ]; then

I agree that other command-line tools may have bugs for paths with spaces, but I don't think the installer should refuse to install. Give a warning at most.

stevengj commented 6 years ago

(If I wanted to submit a PR for this, where would I submit to? I'm not sure which repo the miniconda installer is in.)

mingwandroid commented 6 years ago

From my current perspective (the amount of collatoral damage this would cause), I'm not sure fixing this is in anyone's best interests.

Are you aware that we do text based prefix replacement in things like bash scripts when necessary? PATHs and env vars?, so a file may contain:

export GDAL_ROOT=/opt/conda/anaconda1anaconda2anaconda3

and we replace that with:

export GDAL_ROOT=/home/Ray Donnelly/anaconda1anaconda2anaconda3

.. what happens when we inspect GDAL_ROOT?

echo $GDAL_ROOT
/home/Ray

Aah oops, ok, you could make a PR to conda to 'fix' this based on detecting the filetype - adding quotes to some files will break them - and suffer the knock-ons but where does it end?

Then you have the issue of Unix tools that we provide that were written with the explicit assumption that spaces would not be supported in file paths. What happens when someone tries to build a conda package using GNU make (one of these tools)? Support requests?

mingwandroid commented 6 years ago

BTW, on Windows, this issue is far less of an issue since Windows software is coded (or the WIndows specific parts are coded) so that spaces in paths work and often so that trivial relocation works. Unforutunately much of the Unix world is oriented towards installing to a known fixed prefix (often space-incompatible) and we are left to deal with that as best we can.

chrisconlan commented 6 years ago

My original complaint was Windows-based. Definitely still an issue.

The trick with Windows is to select “install as root” so that you minimize the chance of spaces in the path.

mingwandroid commented 6 years ago

If you do want to submit a PR the URL is here: https://github.com/conda/constructor

mingwandroid commented 6 years ago

@chrisconlan you didn't provide any reproducible steps for your problem, it's far too nebulous for us to look into as things stand. You say it's definitely still an issue, at what version of Miniconda or Anaconda does that statement stand?

FWIW I don't believe we have a big problem on Windows around spaces, based on my own testing.

If you can provide a simple reproduction case we can try to look into it. You say 'virtualenv' specifically though, do you mean conda environments here?

mingwandroid commented 6 years ago

@chrisconlan if you want to continue this it would be best to open a new issue here and fill in the template details.

chrisconlan commented 6 years ago

I wanted to raise the issue but I don’t have time to gut my Windows machine.

Feel free to ignore me if you don’t think it’s an issue anymore.

mingwandroid commented 6 years ago

Oh I'm not ignoring you, we just have our priorities.

chrisconlan commented 6 years ago

Understood.

mingwandroid commented 6 years ago

Can you answer about the nature of the envs. you had trouble with? Knowing which software (conda, virtualenv, venv, pipenv) caused you trouble is fundamental to being able to fix it;

chrisconlan commented 6 years ago

If I remember correctly, I had just factory reset a windows machine, and I was trying to install Anaconda again.

I opted to install on a user level and not global/root level, which caused Anaconda to install on C:\Users\Chris Conlan\Anaconda3. I got the warning about spaces, but proceeded anyway.

I only used conda environments, not venv or virtualenv, and then I started to notice my conda environments would persist for one session then disappear the next. This was through the Anaconda Promot only, and through activate.bat.

I uninstalled and reinstalled Anaconda as global/root on Windows to C:\ProgramData\Anaconda3 and had no problems.

That’s the best I got. Hope it helps.

mingwandroid commented 6 years ago

Yes, that's helpful, thanks.

nilavra commented 5 years ago

I was having similar problems by installing Miniconda in my Users folder (which contains a space). So I did a complete uninstall and reinstalled Miniconda in C:\Miniconda3 (as is suggested here). This new installation should not have anything to do with my User directory, as it is (should be?) completely detached. Yet somehow whenever I try to activate an environment, I get similar errors like this.

Here's my output:

D:\ALL_WORKSPACES\vizwiz-api> conda activate nb
Access is denied.
The system cannot find the file C:\Users\Nilavra.
Could Not Find C:\Users\Nilavra Bhattacharya\AppData\Local\Temp\conda-9484.tmp

D:\ALL_WORKSPACES\vizwiz-api> conda --version
conda 4.6.14

D:\ALL_WORKSPACES\vizwiz-api> where conda
C:\Miniconda3\condabin\conda.bat
C:\Miniconda3\Scripts\conda.exe
JawadAr commented 5 years ago

Is there still no solution to this? I am tired of updating my conda packages every now and then to see if the issue is fixed. Can this be fixed? How can I help?

It is simple to understand the problem. Bear with me please, I got a brand new laptop, DELL G3 15 with windows 10 preinstalled. I installed chrome and downloaded the LATEST anaconda installer. I opened anaconda prompt not power shell not cmd. I created an environment and activated it. It all worked nice and good, then I restarted my machine (unfortunately) and opened the anaconda prompt but this error was showing:

(base) C:\Users\Jawad Arshad>conda activate
Access is denied.
The system cannot find the file C:\Users\Jawad.
Could Not Find C:\Users\Jawad Arshad\AppData\Local\Temp\conda-17029.tmp

My user profile has a space in it and now I cannot activate any environment. I don't want to make a new user nor do I want to reinstall my windows. I did reinstall anaconda on root but still this issue persists.

Opening the anaconda prompt as an admin gives this error:

image

@chrisconlan you didn't provide any reproducible steps for your problem, it's far too nebulous for us to look into as things stand. You say it's definitely still an issue, at what version of Miniconda or Anaconda does that statement stand?

FWIW I don't believe we have a big problem on Windows around spaces, based on my own testing.

If you can provide a simple reproduction case we can try to look into it. You say 'virtualenv' specifically though, do you mean conda environments here?

@mingwandroid Hope it is not too nebulous now.

msarahan commented 5 years ago

You may have old activate scripts that aren't getting updated for whatever reason when you update conda.

Try running conda init

Our test suite uses paths with spaces throughout, and this should work in conda 4.6.14. The only thing I'm aware of that might break it would be old stuff still lying around somehow. Sometimes I've seen the start menu keep old shortcuts to anaconda prompt, even though new shortcuts have replaced the old on disk. We haven't found a solution to that, other than to use an alternate program for the start menu (https://superuser.com/a/987952/184799). Hacks to refresh the start menu database might work, too: https://superuser.com/questions/955139/some-start-menu-shortcuts-are-missing-on-windows-10/967016#967016

On Sat, Jun 8, 2019, 06:00 Jawad Arshad notifications@github.com wrote:

Is there still no solution to this? I am tired of updating my conda packages every now and then to see if the issue is fixed. Can this be fixed? How can I help?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ContinuumIO/anaconda-issues/issues/716?email_source=notifications&email_token=AAAJL6PTWCWIC4VPCIDABITPZOGMHA5CNFSM4B6U3HV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXHSPWA#issuecomment-500115416, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAJL6IYVAW7HNUQYUJTZZDPZOGMHANCNFSM4B6U3HVQ .

JawadAr commented 5 years ago

You may have old activate scripts that aren't getting updated for whatever reason when you update conda. Try running conda init Our test suite uses paths with spaces throughout, and this should work in conda 4.6.14. The only thing I'm aware of that might break it would be old stuff still lying around somehow. Sometimes I've seen the start menu keep old shortcuts to anaconda prompt, even though new shortcuts have replaced the old on disk. We haven't found a solution to that, other than to use an alternate program for the start menu (https://superuser.com/a/987952/184799). Hacks to refresh the start menu database might work, too: https://superuser.com/questions/955139/some-start-menu-shortcuts-are-missing-on-windows-10/967016#967016 On Sat, Jun 8, 2019, 06:00 Jawad Arshad @.***> wrote: Is there still no solution to this? I am tired of updating my conda packages every now and then to see if the issue is fixed. Can this be fixed? How can I help? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#716?email_source=notifications&email_token=AAAJL6PTWCWIC4VPCIDABITPZOGMHA5CNFSM4B6U3HV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXHSPWA#issuecomment-500115416>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAJL6IYVAW7HNUQYUJTZZDPZOGMHANCNFSM4B6U3HVQ .

The output of "conda init":

image

I find it hard to use the information given in the links you have provided. But I did make sure that I have removed everything and installed the anaconda clean again. I face similar problems with the windows cmd.

kousu commented 3 years ago

This is still a problem with the Linux miniconda installer. If $PREFIX has a space in it it half-works and then crashes:

``` [~]$ cd $(mktemp -d) [tmp.aarljEag68]$ mkdir 'my install dir' [tmp.aarljEag68]$ cd my\ install\ dir/ [kousu@requiem my install dir]$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --2021-04-29 15:48:06-- https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt' Resolving repo.anaconda.com (repo.anaconda.com)... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8203, ... Connecting to repo.anaconda.com (repo.anaconda.com)|104.16.130.3|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 94235922 (90M) [application/x-sh] Saving to: ‘Miniconda3-latest-Linux-x86_64.sh’ Miniconda3-latest-Linux-x86_64.sh 100%[===================================================================================================================================================================>] 89.87M 3.71MB/s in 23s 2021-04-29 15:48:30 (3.87 MB/s) - ‘Miniconda3-latest-Linux-x86_64.sh’ saved [94235922/94235922] [my install dir]$ bash Miniconda3-latest-Linux-x86_64.sh -p "./conda" -b -f PREFIX=/tmp/tmp.aarljEag68/my install dir/conda Unpacking payload ... Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /tmp/tmp.aarljEag68/my install dir/conda added / updated specs: - _libgcc_mutex==0.1=main - brotlipy==0.7.0=py38h27cfd23_1003 - ca-certificates==2020.10.14=0 - certifi==2020.6.20=pyhd3eb1b0_3 - cffi==1.14.3=py38h261ae71_2 - chardet==3.0.4=py38h06a4308_1003 - conda-package-handling==1.7.2=py38h03888b9_0 - conda==4.9.2=py38h06a4308_0 - cryptography==3.2.1=py38h3c74f83_1 - idna==2.10=py_0 - ld_impl_linux-64==2.33.1=h53a641e_7 - libedit==3.1.20191231=h14c3975_1 - libffi==3.3=he6710b0_2 - libgcc-ng==9.1.0=hdf63c60_0 - libstdcxx-ng==9.1.0=hdf63c60_0 - ncurses==6.2=he6710b0_1 - openssl==1.1.1h=h7b6447c_0 - pip==20.2.4=py38h06a4308_0 - pycosat==0.6.3=py38h7b6447c_1 - pycparser==2.20=py_2 - pyopenssl==19.1.0=pyhd3eb1b0_1 - pysocks==1.7.1=py38h06a4308_0 - python==3.8.5=h7579374_1 - readline==8.0=h7b6447c_0 - requests==2.24.0=py_0 - ruamel_yaml==0.15.87=py38h7b6447c_1 - setuptools==50.3.1=py38h06a4308_1 - six==1.15.0=py38h06a4308_0 - sqlite==3.33.0=h62c20be_0 - tk==8.6.10=hbc83047_0 - tqdm==4.51.0=pyhd3eb1b0_0 - urllib3==1.25.11=py_0 - wheel==0.35.1=pyhd3eb1b0_0 - xz==5.2.5=h7b6447c_0 - yaml==0.2.5=h7b6447c_0 - zlib==1.2.11=h7b6447c_3 The following NEW packages will be INSTALLED: _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py38h27cfd23_1003 ca-certificates pkgs/main/linux-64::ca-certificates-2020.10.14-0 certifi pkgs/main/noarch::certifi-2020.6.20-pyhd3eb1b0_3 cffi pkgs/main/linux-64::cffi-1.14.3-py38h261ae71_2 chardet pkgs/main/linux-64::chardet-3.0.4-py38h06a4308_1003 conda pkgs/main/linux-64::conda-4.9.2-py38h06a4308_0 conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.2-py38h03888b9_0 cryptography pkgs/main/linux-64::cryptography-3.2.1-py38h3c74f83_1 idna pkgs/main/noarch::idna-2.10-py_0 ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7 libedit pkgs/main/linux-64::libedit-3.1.20191231-h14c3975_1 libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2 libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0 libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0 ncurses pkgs/main/linux-64::ncurses-6.2-he6710b0_1 openssl pkgs/main/linux-64::openssl-1.1.1h-h7b6447c_0 pip pkgs/main/linux-64::pip-20.2.4-py38h06a4308_0 pycosat pkgs/main/linux-64::pycosat-0.6.3-py38h7b6447c_1 pycparser pkgs/main/noarch::pycparser-2.20-py_2 pyopenssl pkgs/main/noarch::pyopenssl-19.1.0-pyhd3eb1b0_1 pysocks pkgs/main/linux-64::pysocks-1.7.1-py38h06a4308_0 python pkgs/main/linux-64::python-3.8.5-h7579374_1 readline pkgs/main/linux-64::readline-8.0-h7b6447c_0 requests pkgs/main/noarch::requests-2.24.0-py_0 ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.87-py38h7b6447c_1 setuptools pkgs/main/linux-64::setuptools-50.3.1-py38h06a4308_1 six pkgs/main/linux-64::six-1.15.0-py38h06a4308_0 sqlite pkgs/main/linux-64::sqlite-3.33.0-h62c20be_0 tk pkgs/main/linux-64::tk-8.6.10-hbc83047_0 tqdm pkgs/main/noarch::tqdm-4.51.0-pyhd3eb1b0_0 urllib3 pkgs/main/noarch::urllib3-1.25.11-py_0 wheel pkgs/main/noarch::wheel-0.35.1-pyhd3eb1b0_0 xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0 yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0 zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3 Preparing transaction: done Executing transaction: done Miniconda3-latest-Linux-x86_64.sh: line 457: /tmp/tmp.aarljEag68/my: Is a directory [my install dir]$ ```

It also incorrectly makes a second folder:

$ ls ..
 my/  'my install dir'/

If -p has a space in it, the getopt call in the installer doesn't quote things right and it crashes even sooner:

[tmp.aarljEag68]$ bash Miniconda3-latest-Linux-x86_64.sh -p './path with spaces' -b -f
ERROR: did not recognize option 'with', please try -h

The installer is even aware of the issue but just ignores it:

[...]
    if [ "$user_prefix" != "" ]; then
        case "$user_prefix" in
            *\ * )
                printf "ERROR: Cannot install into directories with spaces\\n" >&2
                exit 1
                ;;
            *)
                eval PREFIX="$user_prefix"
                ;;
        esac
    fi
fi # !BATCH

case "$PREFIX" in
    *\ * )
        printf "ERROR: Cannot install into directories with spaces\\n" >&2
        exit 1
        ;;
esac
[...]

This is the version:

# NAME:  Miniconda3
# VER:   py38_4.9.2
# PLAT:  linux-64
# LINES: 578
# MD5:   d84cff5da9dc8f4cd1a947cd13521f66
nsoranzo commented 3 years ago

@kousu I'm seeing exactly the same. I've got the following patch that should fix most of the issues, but not sure where to open a pull request:

--- Miniconda3-latest-Linux-x86_64.sh   2021-05-06 16:31:10.770625898 +0100
+++ Miniconda3-latest-Linux-x86_64.sh   2021-05-06 17:15:56.855432100 +0100
@@ -77,7 +77,7 @@
 "

 if which getopt > /dev/null 2>&1; then
-    OPTS=$(getopt bfhp:sut "$*" 2>/dev/null)
+    OPTS=$(getopt bfhp:sut "$@" 2>/dev/null)
     if [ ! $? ]; then
         printf "%s\\n" "$USAGE"
         exit 2
@@ -348,13 +348,6 @@
     fi
 fi # !BATCH

-case "$PREFIX" in
-    *\ * )
-        printf "ERROR: Cannot install into directories with spaces\\n" >&2
-        exit 1
-        ;;
-esac
-
 if [ "$FORCE" = "0" ] && [ -e "$PREFIX" ]; then
     printf "ERROR: File or directory already exists: '%s'\\n" "$PREFIX" >&2
     printf "If you want to update an existing installation, use the -u option.\\n" >&2
@@ -363,7 +356,6 @@
     REINSTALL=1
 fi

-
 if ! mkdir -p "$PREFIX"; then
     printf "ERROR: Could not create directory: '%s'\\n" "$PREFIX" >&2
     exit 1
@@ -441,20 +433,20 @@
 "$CONDA_EXEC" constructor --prefix "$PREFIX" --extract-tarball < "$POSTCONDA" || exit 1
 rm -f "$POSTCONDA"

-rm -f $PREFIX/conda.exe
-rm -f $PREFIX/pkgs/env.txt
+rm -f "$CONDA_EXEC"
+rm -f "$PREFIX/pkgs/env.txt"

-rm -rf $PREFIX/install_tmp
+rm -rf "$PREFIX/install_tmp"
 export TMP="$TMP_BACKUP"

-mkdir -p $PREFIX/envs
+mkdir -p "$PREFIX/envs"

 if [ -f "$MSGS" ]; then
   cat "$MSGS"
 fi
 rm -f "$MSGS"
 # handle .aic files
-$PREFIX/bin/python -E -s "$PREFIX/pkgs/.cio-config.py" "$THIS_PATH" || exit 1
+"$PREFIX/bin/python" -E -s "$PREFIX/pkgs/.cio-config.py" "$THIS_PATH" || exit 1
 printf "installation finished.\\n"

 if [ "$PYTHONPATH" != "" ]; then
@@ -493,9 +485,9 @@
     else
         if [[ $SHELL = *zsh ]]
         then
-            $PREFIX/bin/conda init zsh
+            "$PREFIX/bin/conda" init zsh
         else
-            $PREFIX/bin/conda init
+            "$PREFIX/bin/conda" init
         fi
     fi
     printf "If you'd prefer that conda's base environment not be activated on startup, \\n"
nsoranzo commented 3 years ago

I think I found the right repository, created a PR: https://github.com/conda/constructor/pull/449

sheetalkalburgi commented 2 years ago

This issue is fixed. Please confirm.

kousu commented 2 years ago

Sorry, it's not fixed yet, or at least the fix hasn't made it to miniconda yet:

``` [kousu@requiem ~]$ cd $(mktemp -d) [kousu@requiem tmp.dIDjY38cp0]$ mkdir 'my install dir' [kousu@requiem tmp.dIDjY38cp0]$ cd my\ install\ dir/ [kousu@requiem my install dir]$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --2022-03-09 13:58:35-- https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh SSL_INIT Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt' Resolving repo.anaconda.com (repo.anaconda.com)... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8303, ... Connecting to repo.anaconda.com (repo.anaconda.com)|104.16.130.3|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 75660608 (72M) [application/x-sh] Saving to: ‘Miniconda3-latest-Linux-x86_64.sh’ Miniconda3-latest-Linux-x86_64.sh 100%[=======================================================================>] 72.16M 4.04MB/s in 18s 2022-03-09 13:58:53 (3.95 MB/s) - ‘Miniconda3-latest-Linux-x86_64.sh’ saved [75660608/75660608] [kousu@requiem my install dir]$ bash Miniconda3-latest-Linux-x86_64.sh -p "./conda" -b -f PREFIX=/tmp/tmp.dIDjY38cp0/my install dir/conda Unpacking payload ... Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /tmp/tmp.dIDjY38cp0/my install dir/conda added / updated specs: - _libgcc_mutex==0.1=main - _openmp_mutex==4.5=1_gnu - brotlipy==0.7.0=py39h27cfd23_1003 - ca-certificates==2021.10.26=h06a4308_2 - certifi==2021.10.8=py39h06a4308_2 - cffi==1.15.0=py39hd667e15_1 - charset-normalizer==2.0.4=pyhd3eb1b0_0 - conda-content-trust==0.1.1=pyhd3eb1b0_0 - conda-package-handling==1.7.3=py39h27cfd23_1 - conda==4.11.0=py39h06a4308_0 - cryptography==36.0.0=py39h9ce1e76_0 - idna==3.3=pyhd3eb1b0_0 - ld_impl_linux-64==2.35.1=h7274673_9 - libffi==3.3=he6710b0_2 - libgcc-ng==9.3.0=h5101ec6_17 - libgomp==9.3.0=h5101ec6_17 - libstdcxx-ng==9.3.0=hd4cf53a_17 - ncurses==6.3=h7f8727e_2 - openssl==1.1.1m=h7f8727e_0 - pip==21.2.4=py39h06a4308_0 - pycosat==0.6.3=py39h27cfd23_0 - pycparser==2.21=pyhd3eb1b0_0 - pyopenssl==21.0.0=pyhd3eb1b0_1 - pysocks==1.7.1=py39h06a4308_0 - python==3.9.7=h12debd9_1 - readline==8.1.2=h7f8727e_1 - requests==2.27.1=pyhd3eb1b0_0 - ruamel_yaml==0.15.100=py39h27cfd23_0 - setuptools==58.0.4=py39h06a4308_0 - six==1.16.0=pyhd3eb1b0_0 - sqlite==3.37.0=hc218d9a_0 - tk==8.6.11=h1ccaba5_0 - tqdm==4.62.3=pyhd3eb1b0_1 - tzdata==2021e=hda174b7_0 - urllib3==1.26.7=pyhd3eb1b0_0 - wheel==0.37.1=pyhd3eb1b0_0 - xz==5.2.5=h7b6447c_0 - yaml==0.2.5=h7b6447c_0 - zlib==1.2.11=h7f8727e_4 The following NEW packages will be INSTALLED: _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main _openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py39h27cfd23_1003 ca-certificates pkgs/main/linux-64::ca-certificates-2021.10.26-h06a4308_2 certifi pkgs/main/linux-64::certifi-2021.10.8-py39h06a4308_2 cffi pkgs/main/linux-64::cffi-1.15.0-py39hd667e15_1 charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0 conda pkgs/main/linux-64::conda-4.11.0-py39h06a4308_0 conda-content-tru~ pkgs/main/noarch::conda-content-trust-0.1.1-pyhd3eb1b0_0 conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.3-py39h27cfd23_1 cryptography pkgs/main/linux-64::cryptography-36.0.0-py39h9ce1e76_0 idna pkgs/main/noarch::idna-3.3-pyhd3eb1b0_0 ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9 libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2 libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17 libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17 libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17 ncurses pkgs/main/linux-64::ncurses-6.3-h7f8727e_2 openssl pkgs/main/linux-64::openssl-1.1.1m-h7f8727e_0 pip pkgs/main/linux-64::pip-21.2.4-py39h06a4308_0 pycosat pkgs/main/linux-64::pycosat-0.6.3-py39h27cfd23_0 pycparser pkgs/main/noarch::pycparser-2.21-pyhd3eb1b0_0 pyopenssl pkgs/main/noarch::pyopenssl-21.0.0-pyhd3eb1b0_1 pysocks pkgs/main/linux-64::pysocks-1.7.1-py39h06a4308_0 python pkgs/main/linux-64::python-3.9.7-h12debd9_1 readline pkgs/main/linux-64::readline-8.1.2-h7f8727e_1 requests pkgs/main/noarch::requests-2.27.1-pyhd3eb1b0_0 ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.100-py39h27cfd23_0 setuptools pkgs/main/linux-64::setuptools-58.0.4-py39h06a4308_0 six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0 sqlite pkgs/main/linux-64::sqlite-3.37.0-hc218d9a_0 tk pkgs/main/linux-64::tk-8.6.11-h1ccaba5_0 tqdm pkgs/main/noarch::tqdm-4.62.3-pyhd3eb1b0_1 tzdata pkgs/main/noarch::tzdata-2021e-hda174b7_0 urllib3 pkgs/main/noarch::urllib3-1.26.7-pyhd3eb1b0_0 wheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0 xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0 yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0 zlib pkgs/main/linux-64::zlib-1.2.11-h7f8727e_4 Preparing transaction: done Executing transaction: done Miniconda3-latest-Linux-x86_64.sh: line 461: /tmp/tmp.dIDjY38cp0/my: Is a directory ```

And it still mis-creates a spare directory (just named my/):

``` [kousu@requiem my install dir]$ ls .. my/ 'my install dir'/ ```