PowerShell中的virtualenv?

utk*_*tas 28 python powershell virtualenv

嗨同伴pythonistas,在PowerShell中使用virtualenv时似乎有问题.

当我尝试在PowerShell中激活我的环境时...

> env/scripts/activate

.. 什么都没发生.(shell提示符应该更改以及PATH环境变量.)

我想问题是PowerShell产生了一个新的cmd.进程只是为了运行activate.bat,从而在完成后将activate.bat更改为shell死.

你有什么问题的解决方法吗?(我现在坚持使用cmd.exe)

jsa*_*nen 64

最新版本的virtualenv支持PowerShell开箱即用.

只要确保你运行:

Scripts\activate.ps1
Run Code Online (Sandbox Code Playgroud)

代替

Scripts\activate
Run Code Online (Sandbox Code Playgroud)

后者将执行activate.bat,这在PowerShell上不起作用.

  • 您可能需要运行`set-executionpolicy RemoteSigned`以允许脚本运行(我之前将其设置为`Restricted`)[docs](http://technet.microsoft.com/en-us/library/ee176961.aspx) (28认同)
  • 如果您没有管理员权限,则可能需要运行“set-executionpolicy RemoteSigned -Scope CurrentUser”而不是 Alex L 提供的命令 (14认同)
  • 然后只需输入“deactivate”即可撤消 (3认同)
  • 我必须写: `./Activate.ps1` 否则对我来说不起作用。 (3认同)

小智 16

快速解决方法是调用cmd,然后在cmd会话中运行activate.bat.例如:

PS C:\my_cool_env\Scripts> cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\my_cool_env\Scripts>activate.bat
(my_cool_env) C:\my_cool_env\Scripts>
Run Code Online (Sandbox Code Playgroud)


Vin*_*jip 15

更新:以下答案已过时.现在,只需使用activate.ps1(而不是activate.bat)从Powershell环境激活.

是一篇包含Powershell脚本的帖子,该脚本允许您运行持久修改其环境变量的批处理文件.该脚本将任何环境变量更改传播回调用PowerShell环境.

  • 这个答案不再有效,因为virtualenv支持powershell开箱即用,如http://stackoverflow.com/questions/1365081/virtualenv-in-powershell/10030999#10030999所述. (3认同)

N.N*_*vic 8

先跑就行

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
Run Code Online (Sandbox Code Playgroud)

进而

./env/Scripts/activate.sp1
Run Code Online (Sandbox Code Playgroud)

就这样


liu*_*ihe 6

试试这个: . .\env\Scripts\activate.ps1 看点和空格


小智 6

在虚拟环境文件夹的Scripts目录中,根据您在何处执行命令,可以使用几个激活脚本。如果要尝试从Windows PowerShell激活虚拟环境,请尝试使用以下命令:

. .\env\Scripts\activate.ps1

如果您收到有关在系统上禁用激活脚本的错误消息,则首先需要在系统上调用执行策略更改。这将需要以管理员身份完成。

去做这个:

1)右键单击PowerShell应用程序,然后选择以管理员身份运行

2)运行以下命令: Set-ExecutionPolicy Unrestricted

3)重新运行激活命令: . .\env\Scripts\activate.ps1