我已经安装了 virtualenvwrapper-win,当我尝试这个命令时
workon <envname>
它在 CMD 中有效,但在 Windows PowerShell 中无效。
在 Windows PowerShell 中,我必须执行 Scripts\activate.ps1
然后在提示符前获取 envname。
您能否告诉我如何使 workon 命令在 PowerShell 中运行?
原文由 Raj 发布,翻译遵循 CC BY-SA 4.0 许可协议
我已经安装了 virtualenvwrapper-win,当我尝试这个命令时
workon <envname>
它在 CMD 中有效,但在 Windows PowerShell 中无效。
在 Windows PowerShell 中,我必须执行 Scripts\activate.ps1
然后在提示符前获取 envname。
您能否告诉我如何使 workon 命令在 PowerShell 中运行?
原文由 Raj 发布,翻译遵循 CC BY-SA 4.0 许可协议
workon
是一个批处理脚本。如果您从 PowerShell 运行它,它会在一个新的 CMD 子进程中启动,在那里执行它的操作,然后退出并返回到 PowerShell 提示符。由于子进程无法修改其父进程,因此当您返回 PowerShell 时,您将丢失workon.bat
所做的所有修改。你基本上有两个选择:
在 PowerShell 中重写
workon.bat
(以及它调用的其他批处理脚本)。在不退出 CMD 子进程的情况下运行
workon.bat
:如果您只想要一个可以直接从 PowerShell 调用的快捷方式
workon
您可以将该命令行包装在一个函数中并将函数定义放入您的 PowerShell 配置文件中:在此处使用带扩展名的脚本名以避免无限递归。