tis-anaconda3

2024.6-26
Anaconda is a free and open-source distribution of the Python and R programming languages for scientific computing
11269 downloads
Download
See build result See VirusTotal scan
tis-anaconda3 icon
  • package : tis-anaconda3
  • name : Anaconda Python 3
  • version : 2024.6-26
  • 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 : 2024-07-02 14:01
  • size : 952.32 Mo
  • installed_size : 9.11 Go
  • homepage : https://www.anaconda.com/
package           : tis-anaconda3
version           : 2024.6-26
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          : PROD
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      : 3f4f3049-5e83-43ab-b3d1-89196d7c7b0c
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            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : IHvDiSkGt5OP+VCj6/oU/eKLtlTKvW15I/Nj/eF2Il6i/zQcHm07NYB4AU5IZjX+p80YNuBNFo1DtfaSZEiohRMyNKCrYPXSHuKvdZGRTIA2COYyPAiLT6kRLd3JadJ7KewlfZ3G/uiLb5/9FRe8M+b++NnL+PZmkBp6ziWoBAB5OTb70zCUujzub38AiqthFC2zgwh0hM8J505cRoz5bcnxHvi3XX5dbbMMT7dOnOp3vQvKgLS3kwfyWlzqpmO9Awpfsnl1Cr5A17p41QI+2V1akSH0XiCwmzR1WEn1wu+goFOoOw0/Y8G64YuvqPAZtGzaRkWDxB0EVnPPDvQp5g==
signature_date    : 2024-07-02T14:01:02.529107
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
# -*- 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}"'


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"])

    # 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):
        # 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
c081c3ebe853256687fa159d240c1c28bd638abe751c3bca2b39f58dd9d14538 : setup.py
 : __pycache__
45eef9132b70e3d5a493c26429ddb4e2c9278a32097fd4bc729f860685633a3b : Anaconda3-2024.06-1-Windows-x86_64.exe
67f68ca218a6fad2d04931df5301a9a80de14832bba781e22b579d094b9ebb53 : update_package.py
b55165d2364b2eeb9de5a1a3dce776d46560302228154d603878c4f0a6c47fd5 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
255afcf4ff58180ffe30b373f9b01d722dda392eccf21ed684464331aabe0e86 : WAPT/changelog.txt
0cc6e0278aa3a65b6b74bec8f0e995dbe042377f1223a6860d0c74f31db61b68 : luti.json
8b9c7c732389f3c6cc6b1010f8aacefed4b772f51a4712aa49dfd3922d3ba209 : WAPT/control
2023.3-26
===
now install in programdata since it is requested by the software

2022.5-24
===
translate control
pythonw retired from impacted_process