Installation failed - Problem creating launchers

Dear SCT team!

I have a problem with SCT installation (with the new version 5 and also with older versions) using MacOS 10.15.6. It says “Problem creating launchers!”. Do you think there is a problem with python?

I attached the terminal output of install_sct and sct_check_dependencies…
install_sct.txt (34.9 KB) sct_check_dependencies.txt (3.7 KB)

Thank you for your help!
Best,
Britta

Hi Britta,

Welcome to the forum, and thank you for reporting your issue. :slightly_smiling_face:

It looks like there may have been a clash with an existing 4.2.2 installation of SCT.

To start fresh, could you please try deleting the existing installation folder (/Users/macpronirims/sct_5.0.0/) and after that try re-running the 5.0.0 installation script?(/Users/macpronirims/Downloads/spinalcordtoolbox-5.0.0/install_sct)

Thank you kindly,
Joshua

Hi Joshua,
after deleting the installation folder I’ve received the same output: install_sct.txt (28.2 KB)

Thank you!
Britta

Hi Britta,

The SCT developer team is actively investigating your issue. Thank you for your patience. :slightly_smiling_face:

I’d like to try and learn a bit more about what’s happening in your system. Could you please run the following commands in your terminal?

cd /Users/macpronirims/sct_5.0.0/
source python/etc/profile.d/conda.sh
conda activate venv_sct

Your terminal should change to show the text “(venv_sct)”. I’ll demonstrate using my own system:

joshua@pop-os:~$ cd sct_5.0.0/
joshua@pop-os:~/sct_5.0.0$ source python/etc/profile.d/conda.sh
joshua@pop-os:~/sct_5.0.0$ conda activate venv_sct
(venv_sct) joshua@pop-os:~/sct_5.0.0$ 

But if something else happens, please let us know.

Thank you kindly,
Joshua

Hi Joshua,
Sorry for my late reply. I’ve got the same terminal output as you…
Thank you
Britta

Hi Britta,

Upon closer inspection, I believe the issue is due to the presence of pyenv on your system.

Normally, SCT would get installed to its own Python version, which is stored inside the “/Users/macpronirims/sct_5.0.0/python” folder. But, I believe pyenv is intercepting this installation, causing SCT to instead be installed to “/Users/macpronirims/.pyenv/versions/3.6.9”.

We are currently looking into a solution to prevent pyenv from interfering. You can track the progress here. :slight_smile:

Thank you for your patience as we work to address this!

Kindly,
Joshua

Hi Britta,

Could you please run the following commands and share the output?

which python
which pip
source $SCT_DIR/python/etc/profile.d/conda.sh
conda activate venv_sct
which python
which pip

Thank you kindly,
Joshua

Hi Joshua,

this is the output:
(base) MACpros-Mac-Pro:~ macpronirims$ which python
/Users/macpronirims/.pyenv/shims/python
(base) MACpros-Mac-Pro:~ macpronirims$ which pip
/Users/macpronirims/.pyenv/shims/pip
(base) MACpros-Mac-Pro:~ macpronirims$ source sct_5.0.0/python/etc/profile.d/conda.sh
(base) MACpros-Mac-Pro:~ macpronirims$ conda activate venv_sct
(venv_sct) MACpros-Mac-Pro:~ macpronirims$ which python
/Users/macpronirims/.pyenv/shims/python
(venv_sct) MACpros-Mac-Pro:~ macpronirims$ which pip
/Users/macpronirims/.pyenv/shims/pip

Thank you for sharing the output; it definitely demonstrates the issue. On my computer, here is what I see:

joshua@XPS-15-9560:~$ which python
/home/joshua/.pyenv/shims/python
joshua@XPS-15-9560:~$ which pip
/home/joshua/.pyenv/shims/pip
joshua@XPS-15-9560:~$ source $SCT_DIR/python/etc/profile.d/conda.sh
joshua@XPS-15-9560:~$ conda activate venv_sct
(venv_sct) joshua@XPS-15-9560:~$ which python
/home/joshua/sct_5.0.1/python/envs/venv_sct/bin/python
(venv_sct) joshua@XPS-15-9560:~$ which pip
/home/joshua/sct_5.0.1/python/envs/venv_sct/bin/pip

The above shows that the python/pip executables should switch from the “pyenv” versions to the ones used by SCT. But, for your system, nothing changes, which is very peculiar.

I’ll continue to look into why this is happening and what we can do about it. :slight_smile:

Kind regards,
Joshua

Hi Britta,

Could you please run the following commands and share the output?

source $SCT_DIR/python/etc/profile.d/conda.sh
conda activate venv_sct
conda info
conda config --show-sources
conda list --show-channel-urls

Thank you,
Joshua

Hi Joshua,

Thank you very much for your effort. This is my output:

(base) MACpros-Mac-Pro:~ macpronirims$ source sct_5.0.0/python/etc/profile.d/conda.sh
(base) MACpros-Mac-Pro:~ macpronirims$ conda activate venv_sct
(venv_sct) MACpros-Mac-Pro:~ macpronirims$ conda info

     active environment : venv_sct
    active env location : /Users/macpronirims/sct_5.0.0/python/envs/venv_sct
            shell level : 2
       user config file : /Users/macpronirims/.condarc
 populated config files : 
          conda version : 4.8.3
    conda-build version : not installed
         python version : 3.8.3.final.0
       virtual packages : __osx=10.15.6
       base environment : /Users/macpronirims/sct_5.0.0/python  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/macpronirims/sct_5.0.0/python/pkgs
                          /Users/macpronirims/.conda/pkgs
       envs directories : /Users/macpronirims/sct_5.0.0/python/envs
                          /Users/macpronirims/.conda/envs
               platform : osx-64
             user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Darwin/19.6.0 OSX/10.15.6
                UID:GID : 501:20
             netrc file : None
           offline mode : False

(venv_sct) MACpros-Mac-Pro:~ macpronirims$ conda config --show-sources

(venv_sct) MACpros-Mac-Pro:~ macpronirims$ conda list --show-channel-urls
# packages in environment at /Users/macpronirims/sct_5.0.0/python/envs/venv_sct:
#
# Name                    Version                   Build  Channel
ca-certificates           2020.10.14                    0    defaults
certifi                   2020.6.20          pyhd3eb1b0_3    defaults
libcxx                    10.0.0                        1    defaults
libedit                   3.1.20191231         h1de35cc_1    defaults
libffi                    3.3                  hb1e8313_2    defaults
ncurses                   6.2                  h0a44026_1    defaults
openssl                   1.1.1h               haf1e3a3_0    defaults
pip                       20.2.4           py36hecd8cb5_0    defaults
python                    3.6.12               h26836e1_2    defaults
readline                  8.0                  h1de35cc_0    defaults
setuptools                50.3.1           py36hecd8cb5_1    defaults
sqlite                    3.33.0               hffcf06c_0    defaults
tk                        8.6.10               hb0a8c7a_0    defaults
wheel                     0.35.1                     py_0    defaults
xz                        5.2.5                h1de35cc_0    defaults
zlib                      1.2.11               h1de35cc_3    defaults

Hi @BrMa. Thank you for waiting. We have been able to pinpoint the cause of your issue. It is due to a complicated interaction between:

  • pyenv (already on your system)
  • The (base) conda environment (already on your system)
  • SCT’s (venv_sct) conda environment

We also believe we have found a simple fix for your issue. Could you please run “conda deactivate” before installing SCT?

conda deactivate
./install_sct

The “(base)” prefix on your terminal should go away before SCT is installed.

Kind regards,
Joshua

Hi Joshua,

Great, it worked! Thank you very much for your help.

Best regards,
Britta

1 Like

I’m glad to hear that! :slight_smile:

One last note: I notice in this comment of yours that even though the (base) environment looks active, the pyenv Python gets used instead of the (base) conda’s Python. So, it could be beneficial for you to disable the base environment in fresh terminals if you’re not using it, which could help prevent conflicts like this in the future.

Otherwise, I hope you enjoy using SCT! And, feel free to use the forum for any other questions or concerns you may have.

Kind regards,
Joshua