Downloads:
32
Downloads of v 25.0-b7:
4
Last Update:
15 May 2025
Package Maintainer(s):
Software Author(s):
- Python Software Foundation
Tags:
pymanager python programming development foss cross-platform- Software Specific:
- Software Site
- Software Source
- Software License
- Software Issues
- Package Specific:
- Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
Python Install Manager
This is a prerelease version of Python Install Manager.
- 1
- 2
- 3
25.0-b7 | Updated: 15 May 2025
- Software Specific:
- Software Site
- Software Source
- Software License
- Software Issues
- Package Specific:
- Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
Downloads:
32
Downloads of v 25.0-b7:
4
Maintainer(s):
Software Author(s):
- Python Software Foundation
Python Install Manager 25.0-b7
This is a prerelease version of Python Install Manager.
Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Python Software Foundation. The inclusion of Python Software Foundation trademark(s), if any, upon this webpage is solely to identify Python Software Foundation goods or services and not for commercial purposes.
- 1
- 2
- 3
Some Checks Have Failed or Are Not Yet Complete
Not All Tests Have Passed
Deployment Method: Individual Install, Upgrade, & Uninstall
To install Python Install Manager, run the following command from the command line or from PowerShell:
To upgrade Python Install Manager, run the following command from the command line or from PowerShell:
To uninstall Python Install Manager, run the following command from the command line or from PowerShell:
Deployment Method:
This applies to both open source and commercial editions of Chocolatey.
1. Enter Your Internal Repository Url
(this should look similar to https://community.chocolatey.org/api/v2/)
2. Setup Your Environment
1. Ensure you are set for organizational deployment
Please see the organizational deployment guide
2. Get the package into your environment
Option 1: Cached Package (Unreliable, Requires Internet - Same As Community)-
Open Source or Commercial:
- Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
- You can also just download the package and push it to a repository Download
-
Open Source
-
Download the package:
Download - Follow manual internalization instructions
-
-
Package Internalizer (C4B)
-
Run: (additional options)
choco download pymanager --internalize --pre --source=https://community.chocolatey.org/api/v2/
-
For package and dependencies run:
choco push --source="'INTERNAL REPO URL'"
- Automate package internalization
-
Run: (additional options)
3. Copy Your Script
choco upgrade pymanager -y --source="'INTERNAL REPO URL'" --prerelease [other options]
See options you can pass to upgrade.
See best practices for scripting.
Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.
If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:
choco upgrade pymanager -y --source="'INTERNAL REPO URL'" --prerelease
$exitCode = $LASTEXITCODE
Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
Exit 0
}
Exit $exitCode
- name: Install pymanager
win_chocolatey:
name: pymanager
version: '25.0-b7'
source: INTERNAL REPO URL
state: present
allow_prerelease: yes
See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.
chocolatey_package 'pymanager' do
action :install
source 'INTERNAL REPO URL'
version '25.0-b7'
options '--prerelease'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
cChocoPackageInstaller pymanager
{
Name = "pymanager"
Version = "25.0-b7"
Source = "INTERNAL REPO URL"
chocoParams = "--prerelease"
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'pymanager':
ensure => '25.0-b7',
install_options => ['--prerelease'],
provider => 'chocolatey',
source => 'INTERNAL REPO URL',
}
Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.
4. If applicable - Chocolatey configuration/installation
See infrastructure management matrix for Chocolatey configuration elements and examples.
This package is exempt from moderation. While it is likely safe for you, there is more risk involved.
The Python install manager helps you to install, manage, and launch Python on Windows.
After install, the "py" command is your tool of choice - try "py help" to see what it can do! (Not working? You may need to uninstall the old "Python launcher", and check "Manage app execution aliases" to ensure the command is enabled.)
Complete documentation is available at http://docs.python.org/3.14/using/windows
Package Parameters
/GlobalShortcuts:
- Choose if the global shortcuts directory should be added to PATH. By default, global shortcuts are added to machine or user PATH depending on choco's elevation status. Accepted options are:/GlobalShortcuts:Machine
- Add global shortcuts directory to PATH in Machine Variables./GlobalShortcuts:User
- Add global shortcuts directory to PATH in User Variables./GlobalShortcuts:Disabled
- Disable addition of global shortcuts directory to PATH.
/SkipMaxPathLimitationRemoval
- By default, the package removes Windows's MAX_PATH limitation. This parameter can be provided to skip that step.
These parameters can be passed to the installer with the use of --params
.
For example: --params "'/GlobalShortcuts:Machine /SkipMaxPathLimitationRemoval'"
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python alone or in any derivative version,
provided, however, that PSF's License Agreement and PSF's notice of copyright,
i.e., "Copyright (c) 2001 Python Software Foundation; All Rights Reserved"
are retained in Python alone or in any derivative version prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.
VERIFICATION
Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.
The embedded software have been downloaded from the listed download
location at <https://www.python.org/ftp/python/pymanager/pymanager.appinstaller>
and can be verified by doing the following:
1. Download the following:
64-Bit software: <https://www.python.org/ftp/python/pymanager/python-manager-25.0b7.msix>
2. Get the checksum using one of the following methods:
- Using powershell function 'Get-FileHash'
- Use chocolatey utility 'checksum.exe'
3. The checksums should match the following:
checksum type: sha256
checksum64: 5EC1B0CD54F464C7CB0554CB959FF219B537B3164639EAEA842B7B5D043BFE3A
The file 'LICENSE.txt' has been obtained from <https://raw.githubusercontent.com/python/pymanager/0e1613626a5bb5829cba787da35b45843ec0303a/LICENSE>
$ErrorActionPreference = 'Stop'
$toolsPath = Split-Path $MyInvocation.MyCommand.Definition
. "$toolsPath/helpers.ps1"
$processHasAdminRights = Test-ProcessAdminRights
Uninstall-PyManager -IsProvisioned:$processHasAdminRights
$Script:appxPackageName = 'PythonSoftwareFoundation.PythonManager'
$Script:appxPublisherId = '3847v3x7pw1km'
function Set-AllowAllTrustedApps {
# NOTE: This does not affect the "Allow all trusted apps to install" group policy
# and the package will properly fail to install, if that policy is configured to
# "Disabled" setting. We don't want to alter administrator's explicit decision,
# just the default behavior seen in earlier builds.
$registryEntry = @{
Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock'
Name = 'AllowAllTrustedApps'
Value = 1
PropertyType = 'DWORD'
Force = $true
}
New-ItemProperty @registryEntry | Out-Null
Write-Host 'Applied app sideloading behavior as seen in build 18956 and above.'
}
function Install-PyManager {
param(
[string] $FilePath,
[string] $Version,
[switch] $Provision = $true
)
$foundAppxPackage = $null
if ($Provision) {
$appxPackages = Get-AppxProvisionedPackage -Online | Where-Object {
$_.DisplayName -eq $Script:appxPackageName
}
} else {
$appxPackages = Get-AppxPackage -Name $Script:appxPackageName
}
foreach ($appxPackage in $appxPackages) {
if ($Provision) {
$appxPackageName = $appxPackage.PackageName
} else {
$appxPackageName = $appxPackage.PackageFullName
}
if (!$appxPackageName.EndsWith("__$Script:appxPublisherId")) {
if ($env:ChocolateyForce) {
Write-Host (
"Removing already installed Python Install Manager from a different publisher" +
" (${appxPackageName}) first"
)
if ($Provision) {
Remove-AppxProvisionedPackage -Online -AllUsers -PackageName $appxPackageName
}
Remove-AppxPackage -AllUsers:$Provision -Package $appxPackageName
continue
}
throw (
"The $Script:appxPackageName package from a different publisher is already provisioned:`n" +
"${appxPackageName}`n" +
"This may be a Store package or a development build.`n" +
"This Chocolatey package uses MSIX from Python.org which cannot be provisioned" +
" side-by-side with other variants."
)
}
if ($foundAppxPackage -ne $null) {
throw 'Unreachable error: found multiple packages from same publisher?'
}
$foundAppxPackage = $appxPackage
}
if ($Provision) {
$appxPackages = Get-AppxPackage -Name $Script:appxPackageName
foreach ($appxPackage in $appxPackages) {
if (!$appxPackageName.EndsWith("__$Script:appxPublisherId")) {
Write-Warning (
"Current user already has the $Script:appxPackageName installed" +
" from a different publisher. This may be a Store package" +
" or a development build. It is recommended to uninstall that variant"
" to allow this package to receive updates."
)
}
}
}
[version]$foundVersion = $foundAppxPackage.Version
if ($foundAppxPackage -eq $null) {
# pymanager isn't already installed
} elseif ($env:ChocolateyForce) {
# you can't install the same version of an appx package, you need to remove it first
Write-Host (
"Removing already installed version ($foundVersion)" +
" of Python Install Manager first."
)
Uninstall-PyManager -IsProvisioned:$Provision
} elseif ($foundVersion -gt [version]$Version) {
Write-Warning (
"The version of Python Install Manager in this Chocolatey package ($Version)" +
" is older than the already installed version ($foundVersion)." +
" The application may have auto-updated."
)
Write-Host 'MSIX installation will not be performed.'
return
} elseif ($foundVersion -Match [version]$Version) {
if ($env:ChocolateyForce) {
# you can't install the same version of an appx package, you need to remove it first
Write-Host (
"Removing already installed version ($foundVersion)" +
" of Python Install Manager first."
)
Uninstall-PyManager -IsProvisioned:$Provision
} else {
Write-Host "Python Install Manager $Version is already installed."
return
}
}
if ($Provision) {
Add-AppxProvisionedPackage -Online -SkipLicense -PackagePath $FilePath
} else {
Add-AppxPackage $FilePath
}
Write-Host
}
function Uninstall-PyManager {
param([switch]$IsProvisioned = $true)
$provisionedAppxPackages = $null
if ($IsProvisioned) {
$provisionedAppxPackages = Get-AppxProvisionedPackage -Online | Where-Object {
$_.DisplayName -eq $Script:appxPackageName -and $_.PackageName.EndsWith("__$Script:appxPublisherId")
}
$provisionedAppxPackages | Remove-AppxProvisionedPackage -Online -AllUsers
} else {
$appxPackages = Get-AppxPackage -Name $Script:appxPackageName | Where-Object {
$_.PackageFullName.EndsWith("__$Script:appxPublisherId")
}
$appxPackages | Remove-AppxPackage
}
if ($provisionedAppxPackages -eq $null -and $appxPackages -eq $null) {
Write-Warning "$Script:appxPackageName has already been uninstalled through other means."
return
}
}
function Add-GlobalShortcutsToPath {
param([System.EnvironmentVariableTarget] $PathType)
$pathEntry = '%USERPROFILE%\AppData\Local\Python\bin'
$actualPath = Get-EnvironmentVariable -Name 'Path' -Scope $PathType -PreserveVariables
if ($actualPath -eq $null) {
throw "Could not get PATH from $PathType Variables."
}
if ($actualPath -Split ';' -Contains $pathEntry) {
Write-Host "$pathEntry PATH entry is already part of $PathType Variables."
return
}
$pathToInstall = $pathEntry
if (!$actualPath.StartsWith(';')) {
$pathToInstall = "$pathToInstall;"
}
$newPath = $pathToInstall + $actualPath
if (!$newPath.EndsWith(';')) {
$newPath = "$newPath;"
}
Install-ChocolateyEnvironmentVariable `
-VariableName 'Path' -VariableValue $newPath -VariableType $PathType
Write-Host "Added $pathEntry as PATH entry in $PathType Variables."
}
function Remove-MaxPathLimitation {
$registryEntry = @{
Path = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
Name = 'LongPathsEnabled'
Value = 1
PropertyType = 'DWORD'
Force = $true
}
New-ItemProperty @registryEntry | Out-Null
Write-Host 'Removed the MAX_PATH limitation'
}
md5: CC5B2CDE5873286E78E6F27E0EA11830 | sha1: D70564670A73340D073925FED93A6A4AD3212292 | sha256: 5EC1B0CD54F464C7CB0554CB959FF219B537B3164639EAEA842B7B5D043BFE3A | sha512: 095AA83AF30018FD23CAC9C151ACE197EAE52BC78B826DA3733C48FD7D9C753B219947D28383F84F658FB45B2290D6CFE36704526C55721006CA9DD727DF82A3
Log in or click on link to see number of positives.
- pymanager.25.0-b7.nupkg (65b915baa468) - ## / 59
In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).
Chocolatey Pro provides runtime protection from possible malware.
Add to Builder | Version | Downloads | Last Updated | Status |
---|---|---|---|---|
Python Install Manager 25.0-b7 | 4 | Thursday, May 15, 2025 | Exempted | |
Python Install Manager 25.0-b5 | 9 | Friday, May 9, 2025 | Exempted |
Copyright © 2025 Python Software Foundation. All rights reserved.
This package has no dependencies.
Ground Rules:
- This discussion is only about Python Install Manager and the Python Install Manager package. If you have feedback for Chocolatey, please contact the Google Group.
- This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
- The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
- Tell us what you love about the package or Python Install Manager, or tell us what needs improvement.
- Share your experiences with the package, or extra configuration or gotchas that you've found.
- If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.