本质上,我似乎无法激活我创建的 virtualenv 环境。
我通过使用在 Windows PowerShell 中执行此操作
scripts\activate
但我收到一条错误消息:
“无法加载,因为此系统上禁用了脚本的执行”。
这可能是因为我的计算机上没有管理员权限吗?
本质上,我似乎无法激活我创建的 virtualenv 环境。
我通过使用在 Windows PowerShell 中执行此操作
scripts\activate
但我收到一条错误消息:
“无法加载,因为此系统上禁用了脚本的执行”。
这可能是因为我的计算机上没有管理员权限吗?
根据 Microsoft 技术支持,这可能是执行策略设置的问题。要修复它,您应该尝试Set-ExecutionPolicy Unrestricted -Scope Process
在 PowerShell 窗口中执行(如 @wtsiamruk 的评论部分所述)。这将允许在当前 PowerShell 会话中运行 virtualenv。
还有另一种更不安全的方法,但由 MS 技术支持推荐。这种方法将被使用Set-ExecutionPolicy Unrestricted -Force
(它确实释放了将您的系统搞砸的力量)。但是,在使用这种不安全的方式之前,请务必使用get-ExecutionPolicy
. 然后,完成后,您可以使用Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force
.
在 PowerShell 中使用
Scripts\activate.ps1
而不是在 PowerShell 中不再工作的activate.bat 。
也只需键入即可停用它
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 上更改计算机的执行策略,您可以使用 Windows 命令提示符而不是 Windows PowerShell,只需要运行
`Scripts\activate`
激活您的环境。
对于 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
之后运行命令。
注意:这将只允许该特定脚本运行,并且只能由您的登录用户运行。
如果机器是 64 位,则以管理员身份打开 PowerShell 的x86实例并检查(设置)执行策略。
试试这个
Set-ExecutionPolicy Unrestricted
或者
Set-ExecutionPolicy Unrestricted -Force
删除您创建的该 venv 的目录。并使用以下命令创建一个新的:
python -m venv myvenv
然后看看激活命令是否有效。
C:\path> Set-ExecutionPolicy - Scope CurrentUser
cmdlet Set-ExecutionPolicy at command pipeline position 1 为以下参数提供值: ExecutionPolicy: Unrestricted
C:\path> Scripts\activate.ps1
(新环境)
C:\path> deactivate
C:\path>
这行得通。
在 Windows PowerShell 中,ExecutionPolicy 默认设置为“restricted”。这不允许在 PowerShell 中运行脚本。
我们只能在 ExecutionPolicy 从 'Restricted' 设置为 'RemoteSensing' 时运行脚本您可以按照视频“ PowerShell 08 - 更改执行策略以便您可以运行脚本”来执行此操作!
完成上述步骤后,您可以直接输入“Scrits/activate”(在您要激活的虚拟环境的目录下)激活您要激活的虚拟环境!
如果您pipenv
在创建虚拟环境时使用过,则应pipenv shell
在执行 Visual Studio Code 终端中的任何命令之前运行。
以下步骤正在工作 -