Dear SCT Community:I have SCT 6.4 on Windows. Want to upgrade to 7.0,Is there a way to upgrade directly?Or must I uninstall 6.4 before installing 7.0?Thank you for your expertise and time.
Dear @willimon,
On Windows, upgrading simply requires installing the newer version, then modifying the PATH
and SCT_DIR
variables to point to the newest version as described at the end of the install script. (The PATH
variable determines which version of SCT gets called when running commands in the command prompt.)
You do not need to uninstall the old version if you don’t want to. (Though, it still may be advisable depending on disk space.) Uninstallation is as simple as deleting the folder – each SCT installation is self-contained and does not modify system files.
Thank you for asking this question. I think you’ve identified some holes in our existing documentation, so I will open a ticket to include these details on the installation page.
Kind regards,
Joshua
Thank you so much for your response. However, I encountered the following error during the installation process:
Could you please tell me what might be the issue
My apologies for the issue! This is very strange.
The error comes from one of the software packages that SCT depends on. SCT is requesting version "3.4.1"
, however the error suggests that only "2.1.1"
is available.
Technical details for developers
2.1.1
: Has the wheel name:"charset_normalizer-2.1.1-py3-none-any.whl"
3.0
and above: Has platform-specific wheel names: e.g."charset_normalizer-3.0.0-cp39-cp39-win_amd64.whl"
This suggests that the platform is not Windows, but some other platform that pip
cannot detect.
Can you share some more details about your system? (Such as the specific OS version, whether you are installing it locally or on a network drive or server, whether you have customized your OS at all, whether you are using any containers (such as Docker/Singularity/Apptainer, etc.)
Ideally, if you could also share the output of the following command (for your old v6.4 installation), that would be very helpful too:
sct_check_dependencies
Kind regards,
Joshua
Hi Joshua,
Thank you for your reply. Here is the information you requested:
- Operating System: Windows 11
- Installation Location: Local machine (not a network drive or server)
- OS Customization: No
- Using Containers (Docker/Singularity/Apptainer, etc.): No
- sct_check_dependencies:
--
Spinal Cord Toolbox (6.4)
sct_check_dependencies
--
SYSTEM INFORMATION
------------------
SCT info:
- version: 6.4
- path: D:\sct6.4
OS: windows (Windows-10-10.0.26100-SP0)
CPU cores: Available: 16, Used by ITK functions: 16
RAM: Total: 16236MB, Used: 7463MB, Available: 8772MB
MANDATORY DEPENDENCIES
----------------------
Check Python executable.............................[OK]
Using bundled python 3.9.19 (main, May 6 2024, 20:12:36) [MSC v.1916 64 bit (AMD64)] at D:\sct6.4\python\envs\venv_sct\python.exe
Check if dipy is installed..........................D:\sct6.4\spinalcordtoolbox\scripts\sct_check_dependencies.py:164: UserWarning: Private repos not supported. Skipping.
for req in requirements.parse(requirements_txt):
[OK] (1.8.0)
Check if ivadomed is installed......................[OK] (2.9.10)
Check if matplotlib is installed....................[OK] (3.9.1.post1)
Check if matplotlib-inline is installed.............[OK]
Check if monai is installed.........................[OK] (1.3.2)
Check if msvc-runtime (14.29.30133) is installed....[OK]
Check if nibabel is installed.......................[OK] (5.2.1)
Check if nilearn is installed.......................[OK] (0.10.4)
Check if nnunetv2 (2.3.1) is installed..............[OK]
Check if numpy is installed.........................[OK] (1.26.4)
Check if onnxruntime is installed...................[OK] (1.18.1)
Check if pandas is installed........................[OK] (1.5.3)
Check if portalocker is installed...................[OK] (2.10.1)
Check if psutil is installed........................[OK] (6.0.0)
Check if pyqt5 (5.12.3) is installed................[OK] (5.12.3)
Check if pyqt5-sip is installed.....................[OK]
Check if pystrum is installed.......................[OK] (0.4)
Check if pytest is installed........................[OK] (8.3.2)
Check if pytest-cov is installed....................[OK] (5.0.0)
Check if requests is installed......................[OK] (2.32.3)
Check if requirements-parser is installed...........[OK] (0.10.2)
Check if scipy is installed.........................[OK] (1.13.1)
Check if scikit-image is installed..................[OK] (0.24.0)
Check if scikit-learn is installed..................[OK] (1.5.1)
Check if xlwt is installed..........................[OK] (1.3.0)
Check if tqdm is installed..........................[OK] (4.66.5)
Check if transforms3d is installed..................[OK] (0.4.2)
Check if urllib3 is installed.......................[OK] (2.2.2)
Check if pytest_console_scripts is installed........[OK]
Check if pyyaml is installed........................[OK] (6.0.2)
Check if voxelmorph is installed....................[OK] (0.2)
Check if wquantiles is installed....................[OK] (0.4)
Check if xlsxwriter is installed....................[OK] (3.2.0)
Check if spinalcordtoolbox is installed.............[OK]
Check ANTs compatibility with OS ...................[OK]
Skipping PropSeg compatibility check ...............[ ] (Not supported on 'native' Windows (without WSL))
Check if figure can be opened with PyQt.............[OK]
Check if figure can be opened with matplotlib.......[OK] (Using GUI backend: 'qtagg')
Check data dependency 'PAM50'.......................[OK]
Check data dependency 'deepseg_gm_models'...........[OK]
Check data dependency 'deepseg_sc_models'...........[OK]
Check data dependency 'deepseg_lesion_models'.......[OK]
Check data dependency 'deepreg_models'..............[OK]
Check data dependency 'PAM50_normalized_metrics'....[OK]
Check data dependency 'binaries_win'................[OK]
Best regards,
willimon
To add a bit more detail: my actual operating system is Windows 11 24H2 (Build 26100), but for some reason it’s being identified here as Windows-10-10.0.26100-SP0
.
Thankfully this is to be expected, as Microsoft retains “Windows-10” internally even for Windows 11 for compatibility purposes.
That being said, I cannot reproduce this issue on my local Windows machine (even after installing SCT v6.4, setting the environment variables, then running the v7.0 installer).
I will try to dig deeper into the cause of this problem. Thank you kindly for your patience.
Is it possible that you are using Windows on an ARM64 machine, for example the Surface Laptop 7 or similar?
To check if you are, you can run the following command:
D:\sct6.4\python\python.exe -c "import sysconfig; print(sysconfig.get_platform())"
On my own computer, I see the following:
> C:\Users\joshua\sct_6.4\python\python.exe -c "import sysconfig; print(sysconfig.get_platform())"
win-amd64
If you see win-arm64
instead, then that could explain the problem, as some Python wheels only have versions available for x86/x64 Windows (not ARM64).
Kind regards,
Joshua
Hi Joshua,After running the command you provided, my output matches yours:
> C:\Windows\System32>D:\sct6.4\python\python.exe -c "import sysconfig; print(sysconfig.get_platform())"
win-amd64
Fortunaltely,after multiple attempts, I successfully installed version 7.0. However, a critical issue arose during installation: the Miniforge download repeatedly failed (extremely slow speed followed by errors), which I suspect was caused by network connectivity problems. The specific errors are as follows:
### Downloading Miniforge installer...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:23 --:--:-- 0
curl: (56) Recv failure: Connection was reset
### Installing portable copy of Miniforge...
The system cannot find the file C:\Users\HORIZO~1\AppData\Local\Temp\tmp-1503514567\miniconda.exe.
### Using Conda to create virtual environment...
The system cannot find the path specified.
Installation failed with error code 1.
Please copy and paste the installation log in a new topic on SCT's forum:
--> https://forum.spinalcordmri.org/c/sct
Press any key to continue...
Although I eventually succeeded after numerous retries, I’d like to ask: Is there a more reliable way to resolve this? Many of my colleagues also struggle with this issue.
Best regards, willimon
Thank you kindly for sharing your experiences. I completely agree – the SCT installer currently relies heavily on a strong network connection, and fixing this is something that I would like to prioritize more highly. (See: Recent issues like these: 1, 2.)
I am not certain how many of these issues are due to specific domains and region-blocking, e.g. GitHub. Many of SCT’s dependencies are hosted on GitHub, and so if there are region-blocking issues for GitHub, then connectivity may be unstable.
I will try and look into whether SCT can provide alternate mirrors for files hosted on GitHub and other domains. In the meantime, thank you again for your patience and understanding. I am very sorry for the inconvenience this problem has caused.
Kind regards,
Joshua