Anaconda Python 3
Silent install package for Anaconda Python 3
2025.12-27
Development
Education
Development
Education
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the 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