[英]'virtualenv' won't activate on Windows
本质上,我似乎无法激活我创建的 virtualenv 环境。
我在 Windows PowerShell 内部使用
scripts\activate
但我收到一条错误消息:
“无法加载,因为此系统上禁用了脚本的执行”。
这可能是因为我的计算机上没有管理员权限吗?
根据 Microsoft 技术支持,这可能是执行策略设置的问题。 要修复它,您应该尝试在 PowerShell 窗口中执行Set-ExecutionPolicy Unrestricted -Scope Process
(如Set-ExecutionPolicy Unrestricted -Scope Process
的评论部分所述)。 这将允许在当前 PowerShell 会话中运行 virtualenv。
还有另一种更不安全的方法,但 MS 技术支持推荐。 这种方法是使用Set-ExecutionPolicy Unrestricted -Force
(它会释放力量来搞砸你的系统)。 但是,在使用这种不安全的方式之前,请务必使用get-ExecutionPolicy
检查您当前的 ExecutionPolicy 设置。 然后,当您完成后,您可以使用Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force
来恢复到此 ExecutionPolicy Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force
。
在 PowerShell 中使用
Scripts\activate.ps1
而不是activate.bat不再在 PowerShell 中工作。
也只需键入即可停用它
deactivate
在命令提示符下。
设置流程范围的执行策略。 在 Yes [y] 之后,输入脚本/激活:
以管理员身份打开另一个 PowerShell 窗口,然后键入:
set-executionpolicy remotesigned
然后按Y然后Enter 。
现在关闭这个 PowerShell 窗口并返回到您正在使用的 shell。 这将解决问题。
我在这里找到的另一个快速解决方案(它仅适用于 Windows PowerShell)是这样的:
第一次运行
Scripts\cmd
然后运行
Scripts\activate.bat
在这个位置,你的Virtualenv被激活。 现在,如果您停用它并希望稍后在 PowerShell 的同一会话中再次激活它,您只需要运行:
Scripts\activate
以后就不需要再使用cmd或activate.bat命令了。
请按照以下步骤操作。
步骤 1. 使用 Windows PowerShell 作为管理员。 (非常重要)并 cd 进入项目文件夹。 跑步
virtual env
步骤 2. 如果您有activate.bat文件,请检查脚本文件夹
\env\Scripts\activate.bat # It has to be there.
第 3 步。 如果不是,请确保您有 Internet 连接并再次运行
virtual env
步骤 4. 如果脚本文件夹中有activate.bat文件,请继续。
步骤 5. 在你的 shell 中运行这个:
Set-ExecutionPolicy Unrestricted -Force
步骤 6. 要在 Windows 上激活 virtualenv,激活脚本位于 Scripts 文件夹中:
env\Scripts\activate.bat
步骤 7. 检查每行开头的 (env)。 这表明您处于虚拟环境中。
步骤 8. 要在您第二次返回项目时重新激活,请运行:
.\\env\Scripts\activate
要仅在 Windows PowerShell 中安装虚拟环境,但要激活,您需要以管理员身份运行 Windows PowerShell :
pip install virtualenv
virtualenv %Name of virtual environment%
现在安装它以激活它。 以管理员身份运行 PowerShell
.\\env\\Scripts\\activate
停用环境
.\\env\\Scripts\\deactivate
如需更多帮助,请访问官方页面: https : //pypi.org/project/virtualenv/1.8.2/
对于我在 Windows 10 64 位上:
powershell
Set-ExecutionPolicy Unrestricted -Force
瞧,重新打开 Visual Studio Code 并启动 pythoninnngg。
在 Windows 中,您应该在 cmd 中通过以下命令激活虚拟环境
E:\\your_environment\\Scripts> activate.bat
如果环境被激活,那么它会显示您的环境名称,并用括号括起来,如下所示:
(your_environment) E:\\your_environment\\Scripts>
我们也可以通过检查where.exe来确保它会按照层次结构的顺序列出我们的活动 Python 环境
(your_environment) E:\your_environment\Scripts>where.exe python
E:\your_environment\Scripts\python.exe
C:\Python27\python.exe
如果您需要停用,请执行以下操作:
(your_environment) E:\\your_environment\\Scripts>deactivate.bat
这对我有用:
您可以简单地打开一个普通的(您不需要提升访问权限)cmd 或 PowerShell 会话(我在 Visual Studio Code 中使用嵌入式 PowerShell 终端)并从脚本文件所在的文件夹中键入以下内容,例如: .venv\\Scripts\\Activate.ps1
:
powershell.exe -executionpolicy unrestricted -command .\Activate.ps1 -Scope CurrentUser
然后您可以在此之后运行activate
命令。
注意:这将只允许该特定脚本运行,并且只能由您的登录用户运行。
如果您不想像我一样在 Windows 上更改计算机的执行策略,您可以使用 Windows 命令提示符而不是 Windows PowerShell,只需运行
`Scripts\activate`
激活您的环境。
如果机器是 64 位,以管理员身份打开 PowerShell 的x86实例并检查(设置)执行策略。
试试这个
Set-ExecutionPolicy Unrestricted
要么
Set-ExecutionPolicy Unrestricted -Force
删除您创建的那个 venv 的目录。 并使用以下命令创建一个新的:
python -m venv myvenv
然后查看 activate 命令是否有效。
C:\path> Set-ExecutionPolicy - Scope CurrentUser
cmdlet Set-ExecutionPolicy 在命令管道位置 1 提供以下参数的值: ExecutionPolicy:无限制
C:\path> Scripts\activate.ps1
(新环境)
C:\path> deactivate
C:\path>
这奏效了。
在 Windows PowerShell 中,ExecutionPolicy 默认设置为“受限”。 这不允许脚本在 PowerShell 中运行。
我们只能在 ExecutionPolicy 从 'Restricted' 设置为 'RemoteSensing' 时运行脚本。您可以按照视频“ PowerShell 08 - 更改执行策略,以便您可以运行脚本”来执行此操作!
完成上述步骤后,您可以直接输入“Scrits/activate”(在您要激活的虚拟环境目录下)来激活您要激活的虚拟环境!
如果您已使用pipenv
创建虚拟环境,则应在 Visual Studio Code 终端中执行任何命令之前运行pipenv shell
。
以下步骤正在工作 -
我遇到了同样的问题,问题是
可能的原因是venv
在 powercell 上没有“以管理员身份运行”时无法运行您可以在命令提示符而不是 powercell 上运行venv\Scripts\activate
这个命令对我有用:-
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
在你的 PowerShell 上运行这个我认为它的工作
搜索 PowerShell 右键单击 Windows PowerShell 并以管理员身份运行。
输入以下命令并按回车键。
Set-ExecutionPolicy Unrestricted -Force
重新启动系统并尝试激活 python 虚拟环境。
如果您的虚拟环境已成功创建,那么它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.