我想激活python3.8环境,而不必“cd”到windows 10中的环境路径。如果我使用像path/to/my/env/Scripts/activate或path/to/my/env/Scripts/activate.bat这样的命令,就不会激活我的环境。为了激活我的环境,我不得不使用两个命令-
cd path\to\my\env\Scripts\./activatecd back\to\my\project\dir我不想每次都更改当前的项目工作目录,以激活windows 10 powershell中的环境。在Linux中,我可以使用一个source path/to/my/env/bin命令。它允许我留在当前的项目目录中,并使用它的路径地址激活环境。如何在windows 10中实现类似的功能,只需一个命令就可以激活python环境?

在上面的图片,我得到绿色的名称,我的环境一旦成功激活。
发布于 2022-06-05 22:30:42
在PowerShell上运行这样的代码:
C:\Users\Admin\Desktop\pyenv\Scripts\activate.bat它有效,但没有你所期望的效果。从PowerShell运行批处理文件将启动一个新的cmd实例,该实例将获得激活的环境--但是,在批处理文件完成后,cmd过程将被完成并终止,并带着修改后的环境变量。
您可以编写这样的批处理文件,它将按预期工作(来自命令提示符和PowerShell):
call C:\Users\Admin\Desktop\pyenv\Scripts\activate.bat
python myscript.py它将在预期的环境中运行myscript.py。
从正在运行的命令提示符中只运行批处理文件激活命令(带有路径),您可能也期望在PowerShell中工作。它修改当前环境,并允许您随后在其中交互运行命令,直到您的deactivate。
但是,如果要在当前PowerShell提示符上更改当前环境,则需要运行(--这是答案):
C:\Users\Admin\Desktop\pyenv\Scripts\activate.ps1即运行.ps1 PowerShell脚本,不要运行.bat命令提示符脚本。
注意:如果输入了script.bat命令(并且没有其他扩展名在PATHEXT变量中的.bat之前),Windows将自动运行script;但是,PowerShell会找到script (无扩展名)文件,并为此进行处理。通过运行以下命令,可以看出情况是这样的:
Get-Command C:\Users\Admin\Desktop\pyenv\Scripts\activatePowerShell也使用PATHEXT,但是匹配文件名之前没有扩展名,该文件就在那里(这是Bash脚本):
Write-Host $env:PATHEXT(关于PowerShell在这里使用环境变量的更多信息)
https://stackoverflow.com/questions/72507248
复制相似问题