我真的很喜欢这种方式
这是批处理脚本:
@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%PYCURRENTPATHS%
if not "x%str1:python2=%" == "x%str1%" (
set PYCURRENTPATHS=%PY3PATHS%
) else (
set PYCURRENTPATHS=%PY2PATHS%
)
setx PYCURRENTPATHS %PYCURRENTPATHS%
set PATH=%PATH%
endlocal
我们需要 3 个变量:(使用“set”设置当前终端,使用“setx”设置持久变量)
set PY2PATHS=D:\ProgramData\Anaconda3\env\python2;D:\ProgramData\Anaconda3\env\python2\Scripts
set PY3PATHS=D:\ProgramData\Anaconda3;D:\ProgramData\Anaconda3\Scripts
setx PY2PATHS %PY2PATHS%
setx PY3PATHS %PY3PATHS%
setx PYCURRENTPATHS %PY2PATHS%
并通过 GUI 将“%PYCURRENTPATHS%”添加到您的路径中:
此示例使用此示例中的 anaconda 和 python2 设置:
conda create -n python2 python=2.7 anaconda
所以对于超无痛的 Windows python,我不能推荐以下解决方案。请试一试,我想你会喜欢的。
1)使用Anaconda(本示例从python 3开始)......在最长的时间里我抵制并且在手动安装/管理python时运气更好,但由于网络问题,我被迫使用Anaconda(没有想要在网络上允许 pip url :( )
2) 从 anaconda 提示符安装 python2:conda create -n python2 python=2.7 anaconda
3) 创建上面的脚本以使您的 python 安装可用于命令行(例如添加到路径)
您可以添加更多虚拟 python 环境,在命令行中设置它们或增强此脚本(例如 PY2Tensor、Py3Scikit 等)或简单地通过 conda 管理它们 :)
Anaconda 受益于预编译的软件包。没有包不匹配、不稳定的版本、遗留问题或损坏的依赖关系。
我仍然更喜欢 Linux 进行开发,但如果你必须使用 windows 和 python,它会变得更好。
注意:在当前会话中设置 PATH=%PATH% 会导致重新评估“PATH”+“%PYCURRENTPATHS%”,新会话将反映没有此行的更改