Anaconda Python 3
Paquet d’installation silencieuse pour Anaconda Python 3
2025.12-27
Development
Education
Development
Education
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-anaconda3
- name: Anaconda Python 3
- version: 2025.12-27
- categories: Development,Education
- maintainer: WAPT Team,Tranquil IT,Jimmy PELE,Pierre COSSON
- editor: Anaconda, Inc.
- licence: opensource_free
- locale: all
- target_os: windows
- impacted_process: _conda
- architecture: x64
- signature_date:
- size: 1.20 Go
- installed_size: 9.11 Go
- homepage : https://www.anaconda.com/
package : tis-anaconda3
version : 2025.12-27
architecture : x64
section : base
priority : optional
name : Anaconda Python 3
categories : Development,Education
maintainer : WAPT Team,Tranquil IT,Jimmy PELE,Pierre COSSON
description : Anaconda is a free and open-source distribution of the Python and R programming languages for scientific computing
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : windows
min_wapt_version : 2.1
sources : https://www.anaconda.com/products/individual
installed_size : 9108758537
impacted_process : _conda
description_fr : Anaconda est une distribution libre des langages de programmation Python et R appliqué au développement d'applications dédiées à la science des données
description_pl : Anaconda jest wolną i otwartą dystrybucją języków programowania Python i R do obliczeń naukowych
description_de : Anaconda ist eine freie und quelloffene Distribution der Programmiersprachen Python und R für wissenschaftliche Berechnungen
description_es : Anaconda es una distribución gratuita y de código abierto de los lenguajes de programación Python y R para la computación científica
description_pt : Anaconda é uma distribuição gratuita e de código aberto das linguagens de programação Python e R para computação científica
description_it : Anaconda è una distribuzione gratuita e open-source dei linguaggi di programmazione Python e R per il calcolo scientifico
description_nl : Anaconda is een vrije en open-source distributie van de Python en R programmeertalen voor wetenschappelijke berekeningen
description_ru : Anaconda - это бесплатный дистрибутив с открытым исходным кодом языков программирования Python и R для научных вычислений
audit_schedule :
editor : Anaconda, Inc.
keywords : anaconda,programming,scientific,computing,python,r,distribution
licence : opensource_free
homepage : https://www.anaconda.com/
package_uuid : 5eca4695-bf3b-4631-b32b-f1159a79c670
valid_from :
valid_until :
forced_install_on :
changelog : https://docs.anaconda.com/anaconda/reference/release-notes/
min_os_version : 6.2
max_os_version :
icon_sha256sum : b55165d2364b2eeb9de5a1a3dce776d46560302228154d603878c4f0a6c47fd5
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2025-12-18T11:46:54.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : mcdCm5nXW7DXsqeOmKjJc6E5HyFUR0fWwFAM7VC/slzFU+Hzpc4rVAZf5mqoICWzgbws30OoMNwp5IkcWBwBNZMf286uimVv1aLzi7Itv4Zr20BmVWBJGnakMA9qAiZ8vW4VJpSud0AEtyFFrhbyNw00roCM6IyF8p+0AWIcdaKODvtWMNZoDKVhi5AITfYlh4YAawlMg8d3rk+VU0kWYsrw6z5JFg5l/BaLyJMQdJZxpMF0BKN4mhHFNJw9z2NQ+DaHBI0HetwTAAQ05Vzm8JpW8flrJ0Vw+PyvLIKS45nOf87r3ehgSI3cA9tuTU/8uLDJlmkOcPY0mgKoNn2gFA==
# -*- coding: utf-8 -*-
from setuphelpers import *
# Installation procedure: https://docs.anaconda.com/anaconda/install/silent-mode/
# Defining variables
old_app_dir = makepath(programfiles, "anaconda3")
app_dir = makepath(programdata, "anaconda3")
conda_path = makepath(app_dir, "Scripts", "conda.exe")
conda_python = makepath(app_dir, "python.exe")
silent_args = f'/S /InstallationType=AllUsers /RegisterPython=0 /AddToPath=1 /D="{app_dir}"'
target_path = r'C:\tmp\target'
def conda_python_version():
return get_file_properties(conda_python)["ProductVersion"]
def get_conda_uninstallkey(conda_python_version, short_app_uninstallkey):
if control.architecture == "x64":
arch = "64"
else:
arch = "32"
# v = control.get_software_version()
# if len(v.split(".")[1]) == 1:
# v = v.split(".")[0] + ".0" + v.split(".")[1]
return f"{short_app_uninstallkey} (Python {conda_python_version} {arch}-bit)"
def install():
# Initializing variables
bin_name = glob.glob("Anaconda3-*.exe")[0]
# "Anaconda3 py310_2023.03-0"
short_app_uninstallkey = get_file_properties(bin_name)["ProductName"].split(" (")[0]
# "Anaconda3 py310_2023.03-0 (Python 3.10.9 64-bit)"
# app_uninstallkey = get_conda_uninstallkey(conda_python_version( conda_python))
# Uninstalling other versions of the software
for to_uninstall in installed_softwares(name="Anaconda3"):
if not short_app_uninstallkey in to_uninstall["key"] or force:
print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
killalltasks(control.get_impacted_process_list())
run(uninstall_cmd(to_uninstall["key"]))
wait_uninstallkey_absent(to_uninstall["key"])
if isdir(target_path):
remove_tree(target_path)
elif isfile(target_path):
remove_tree(target_path)
# Prevent interaction with waptpython (please make sure that the following code require the defined path)
if "PYTHONHOME" in os.environ.keys():
del os.environ["PYTHONHOME"]
if "PYTHONPATH" in os.environ.keys():
del os.environ["PYTHONPATH"]
os.environ["PYTHONPATH"] = app_dir
os.environ["PYTHONHOME"] = app_dir
# Checking manually if the application is installed
if need_install(name=short_app_uninstallkey):
#Remove app_dir
if isdir(app_dir):
remove_tree(app_dir)
# Installing the package
run('"%s" %s' % (makepath(basedir, bin_name), silent_args), timeout=1800)
wait_uninstallkey_present(get_conda_uninstallkey(conda_python_version(), short_app_uninstallkey))
else:
print("%s is already installed and up-to-date" % short_app_uninstallkey)
# Adding manually the uninstallkey
uninstallkey.append(get_conda_uninstallkey(conda_python_version(), short_app_uninstallkey))
# Preinstalling Anaconda dependencies (procedure: https://docs.conda.io/projects/conda/en/latest/commands/install.html)
print("Preinstalling Anaconda dependencies")
run_notfatal('"%s" install qt --quiet --offline --use-local --yes --prefix "%s"' % (conda_path, app_dir))
# Debugging information for Anaconda
print("If you're experencing issues with Anaconda you may need to execute in cmd the following command:")
print('"%s"' % makepath(app_dir, "Scripts", "activate.bat"))
# Rolling back WAPT Python Pathes (will ensure that WAPT install complete correctly)
if "PYTHONHOME" in os.environ.keys():
del os.environ["PYTHONHOME"]
if "PYTHONPATH" in os.environ.keys():
del os.environ["PYTHONPATH"]
os.environ["PYTHONHOME"] = makepath(WAPT.wapt_base_dir)
os.environ["PYTHONPATH"] = makepath(WAPT.wapt_base_dir)
# Removing old_app_dir
if isdir(old_app_dir):
remove_tree(old_app_dir)
# Removing old_app_dir from PATH
for p in os.environ["PATH"].split(";"):
if old_app_dir.lower() in p.lower():
print("Removing: %s from PATH" % p)
remove_from_system_path(p)
def session_setup():
print("Configuring: base options")
# Initializing variables
# C:\Users\username\.anaconda\navigator\anaconda-navigator.ini
# C:\Users\username\AppData\Roaming\.anaconda\navigator\.anaconda\navigator\anaconda-navigator.ini
# user_conf_dir = makepath(systemdrive,'Users', get_current_user(), '.anaconda', 'navigator')
user_conf_dir = makepath(
user_appdata, ".anaconda", "navigator", ".anaconda", "navigator"
) # Path look glitchy but he's correct (at least in version 2020.11)
user_conf_file = makepath(user_conf_dir, "anaconda-navigator.ini")
# Configuring options
if not isdir(user_conf_dir):
mkdirs(user_conf_dir)
inifile_writestring(user_conf_file, "main", "first_time_offline", "False")
inifile_writestring(user_conf_file, "main", "offline_mode", "True")
inifile_writestring(user_conf_file, "main", "hide_offline_dialog", "True")
inifile_writestring(user_conf_file, "main", "first_run", "False")
inifile_writestring(user_conf_file, "main", "hide_update_dialog", "True")
inifile_writestring(user_conf_file, "main", "provide_analytics", "False")
inifile_writestring(user_conf_file, "main", "show_startup", "False")
inifile_writestring(user_conf_file, "main", "hide_quit_dialog", "True")
inifile_writestring(user_conf_file, "main", "hide_update_dialog", "True")
# -*- coding: utf-8 -*-
from setuphelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
html_source = wgets("https://www.anaconda.com/download/success",proxies=proxies).splitlines()
for line in html_source:
if '.exe' in line:
download_url = 'http' + line.split('http',1)[1].split('.exe')[0] + '.exe'
latest_bin = download_url.split('/')[-1]
version = latest_bin.split('-')[1]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Checking version from file
version_from_file = get_file_properties(latest_bin)["ProductName"].split("-")[0].rsplit(" ")[-1]
if Version(version_from_file, 4) != Version(version, 4) and version_from_file != "":
print("Changing version to the version number of the binary (from: %s to: %s)" % (version, version_from_file))
# os.rename(latest_bin, latest_bin.replace(version, version_from_file))
version = version_from_file
else:
print("Binary file version corresponds to online version")
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Deleting outdated binaries
remove_outdated_binaries(version)
# Validating or not update-package-sources
return package_updated
09c8a69e7a717a963a9f251697473f4ea887878696c3ec4e7e454f5eabb75afe : Anaconda3-2025.12-1-Windows-x86_64.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
255afcf4ff58180ffe30b373f9b01d722dda392eccf21ed684464331aabe0e86 : WAPT/changelog.txt
5bf9f1569e3753125e0e8d7f10d195e166f9272e905fa48851562572a868433d : WAPT/control
b55165d2364b2eeb9de5a1a3dce776d46560302228154d603878c4f0a6c47fd5 : WAPT/icon.png
72c5eb195f5b1b1c92720bccba99f8dbff097318857fd7be7ff51174cbf4e3ba : luti.json
5eda97b88002a01d2e66a9ab8c996f02714c55a8efdaf41da13a3e24654f6f38 : setup.py
67f68ca218a6fad2d04931df5301a9a80de14832bba781e22b579d094b9ebb53 : update_package.py
https://docs.anaconda.com/anaconda/reference/release-notes/
2023.3-26
===
now install in programdata since it is requested by the software
2022.5-24
===
translate control
pythonw retired from impacted_process