我已经安装了virtualenvwrapper-win,当我尝试此命令时
workon <envname>
在CMD中它可以工作,但在Windows PowerShell中不起作用。
在Windows PowerShell中,我必须执行
Scripts\activate.ps1
,然后在提示之前获得envname。您能否让我知道如何在PowerShell中使用workon命令?
最佳答案
workon
是批处理脚本。如果从PowerShell运行它,它将在一个新的CMD子进程中启动,在那里执行它的操作,然后退出并返回到PowerShell提示符。由于子进程无法修改其父进程,因此当您返回PowerShell时,将丢失workon.bat
所做的所有修改。
您基本上有两个选择:
workon.bat
(及其调用的其他批处理脚本)。 workon.bat
:& cmd /k workon <envname>
如果只需要可以从PowerShell直接调用的快捷方式
workon
,则可以将该命令行包装在函数中,然后将函数定义放入PowerShell配置文件中:function workon($environment) {
& cmd /k workon.bat $environment
}
在此处使用带有扩展名的脚本名可避免无限递归。
关于python-3.x - workon命令在Windows PowerShell中不起作用以激活virtualenv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38944525/