我想在 Windows 上设置别名python3
。python
我已经按照说明删除了 Microsoft Store 的别名这个答案。但是python3
仍然不是已知别名。我该如何修复这个问题?
答案1
我想在 Windows 上
python3
使用别名python
。
你还没有提到你正在使用哪个版本的 Python(例如“vanilla”Python、Anaconda、SciPy 等),但如果我没理解错的话,这可能不是必需的。对于 Windows 版本的 Python(即不是 WSL),python3
通常不是标准别名。也就是说,Python 3.x 可执行文件通常只是python
(python.exe
)。
请注意,python.exe
如果您只想以 的形式访问它,则它应该位于 Windows Path 中列出的文件夹中python
。您可以找到有关编辑 Windows Path 变量的复习这里。
如果您的意思是相反的(即您想要使用 运行 Python 3.x python3
),那么至少有几种可能的方法(下面的每一项都是一个单独的选项):
python3.exe
使用以下命令创建指向您首选的 Python 3.x 副本的符号链接:链接:mklink "C:\path\to\symlink\python3.exe" "C:\path\to\Python3\python.exe"
python.exe
在您首选的 Python 3.x 安装中复制文件并重命名复制的可执行文件python3.exe
。如果你不打算专门使用
python3
并且有适用于 Windows 的 Python 启动器(py.exe
)安装了来自“vanilla”Pythonpython.org, 您可以使用:# Use the "default" installation of Python 3.x, # as detected by the Python Launcher for Windows. py 3
或者:
# Use a specific version of Python 3.x if you have more # than one version installed, outside of a virtual environment. py 3.8
python3.bat
创建一个名为以下信息的Windows 批处理文件:例如 python3.bat
C:\path\to\Python3\python.exe %*
您还可以
py.exe
以类似的方式为 Windows 的 Python Launcher ()调用设置别名python3.bat
,例如:例如 python3.bat
py 3 %*
或者:
例如 python3.bat
py 3.8 %*
使用上述所有选项,您希望从命令行访问的任何“python3”文件(即任何符号链接、重命名的可执行副本或py.exe
)python3.bat
都必须位于 Windows 路径中的文件夹中。
笔记
这些选项显然不包括
python.exe
命令行上的任何“别名”选项(例如通过任务列表宏,如评论中所述,或者可能是通过特定于给定终端的实际别名命令)。 它还忽略了某些 Python 发行版(理论上)可能已经带有别名的可能性python3
。在 Windows 上创建符号链接
mklink
可能需要早于 Windows 10 某些早期版本的 Windows 版本的管理权限。创建符号链接时,请务必包含文件扩展名 (
.exe
)。如果您希望链接正常工作,则必须这样做。最好将任何重命名的可执行副本(选项 2)留在与原始文件相同的文件夹中
python.exe
。
答案2
如果您使用的是 Windows PowerShell 而不是命令提示符,则可以使用以下代码:
Set-Alias -Name python3 -Value python
或者使用以下代码:
Set-Alias -Name python3 -Value "C:\Python39\python.exe"
请注意,这是当前会话的临时别名,要使其成为永久别名,您必须将上述命令复制到一个空文本文件中并将其命名为 Profile.ps1 文件,然后将其复制到以下文件夹之一:
如果你使用的是 PowerShell 7:
{My Documents Folder}/PowerShell
如果您使用 Windows 10 中默认自带的 Windows PowerShell:
{My Documents Folder}/WindowsPowerShell
或者在 PowerShell 的安装文件夹中,可以通过以下方式找到:
cd $PSHOME\
答案3
如果您的 python 3.x 已经在您的 PATH 中,并且您已经从您的机器(和 PATH)中删除了所有以前的 python3 版本,那么您只需运行:
mklink "C:\path\to\Python3\python3.exe" "C:\path\to\Python3\python.exe"
。
如果您正在运行多个版本的 python3,则可以将符号链接设置为您想要的任何内容:
mklink "C:\path\to\Python3\pythonXYZ.exe" "C:\path\to\Python3\python.exe"
。
重新启动 cmd 提示符或python3 --version
将pythonXYZ --version
打印您的链接版本
答案4
对于使用 powershell 到这里的人来说,这是创建符号链接的另一种方法。
警告:Requires Admin rights or group policy that allows this on normal mortal users
- 打开能够创建管理/链接的 powershell 终端
- 跑步
$venv=((get-command python).source | Get-ItemProperty).DirectoryName;New-Item -Path $venv -Name "python3.exe" -Value "$venv\python.exe" -ItemType SymbolicLink
如果您没有虚拟环境,请先运行以下命令:
.\.venv\Scripts\Activate.ps1