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

Support spaces in the install path for the installers #716

Open
csoja opened this issue Mar 21, 2016 · 29 comments · Fixed by conda/constructor#449
Open

Support spaces in the install path for the installers #716

csoja opened this issue Mar 21, 2016 · 29 comments · Fixed by conda/constructor#449
Assignees

Comments

@csoja
Copy link
Contributor

csoja commented Mar 21, 2016

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 goanpeca changed the title Support spaces in the install path for the Unix installers Support spaces in the install path for the installers May 17, 2017
@goanpeca
Copy link

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

@uctptep
Copy link

uctptep commented Oct 7, 2017

I just experienced this issue with Anaconda3 5.0.0 and Python 3 on Windows 10 as described in #1029

@rsokl
Copy link

rsokl commented Feb 21, 2018

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

@mingwandroid
Copy link

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

@rsokl
Copy link

rsokl commented Feb 21, 2018

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
Copy link

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
Copy link

stevengj commented Nov 5, 2018

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
Copy link

stevengj commented Nov 5, 2018

(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
Copy link

mingwandroid commented Nov 5, 2018

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
Copy link

mingwandroid commented Nov 5, 2018

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
Copy link

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
Copy link

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

@mingwandroid
Copy link

@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
Copy link

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

@chrisconlan
Copy link

chrisconlan commented Nov 5, 2018

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
Copy link

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

@chrisconlan
Copy link

Understood.

@mingwandroid
Copy link

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
Copy link

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
Copy link

Yes, that's helpful, thanks.

@nilavra
Copy link

nilavra commented May 30, 2019

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
Copy link

JawadAr commented Jun 8, 2019

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
Copy link
Contributor

msarahan commented Jun 8, 2019 via email

@JawadAr
Copy link

JawadAr commented Jun 8, 2019

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
Copy link

kousu commented Apr 29, 2021

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
Copy link

nsoranzo commented May 6, 2021

@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
Copy link

nsoranzo commented May 7, 2021

I think I found the right repository, created a PR: conda/constructor#449

@sheetalkalburgi
Copy link

This issue is fixed. Please confirm.

@kousu
Copy link

kousu commented Mar 9, 2022

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'/

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

Successfully merging a pull request may close this issue.