【问题标题】:VS Code always gives error when trying to run code after switching to virtual env in python在 python 中切换到虚拟环境后尝试运行代码时,VS Code 总是出错
【发布时间】:2021-11-17 07:21:23
【问题描述】:

错误:

PS C:\Users\Prashant(Gaz)\fieldrocket-pygame\fieldrocket> & c:/Users/Prashant(Gaz)/fieldrocket-pygame/fieldrocket/pyfr/Scripts/Activate.ps1
Gaz : The term 'Gaz' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if 
a path was included, verify that the path is correct and try again.
At line:1 char:21
+ & c:/Users/Prashant(Gaz)/fieldrocket-pygame/fieldrocket/pyfr/Scripts/ ...
+                     ~~~
    + CategoryInfo          : ObjectNotFound: (Gaz:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
PS C:\Users\Prashant(Gaz)\fieldrocket-pygame\fieldrocket> 

所以我通过cmd创建了一个虚拟环境,然后打开vs代码,试图将解释器切换到venv,但是当我点击新终端或从右键菜单运行代码时,它无缘无故地给了我这个错误....如果我将命令用作字符串,这显然有效,那么为什么 vs 代码会这样做,请帮助...

如果我手动激活 venv 它工作得很好,但我不能快速运行代码,因为这个,我知道为什么有时会发生这种情况....一些工作前我正在使用 django 并且在使用时从未遇到过这个问题无时无刻不在

编辑:该命令不是我输入的,我只是打开了一个新终端,即使在手动激活 venv 之后,如果我重新打开一个新终端,它也会给出相同的错误

【问题讨论】:

  • 我认为只要您希望虚拟环境运行,您就需要打开相同的终端。关闭正在运行 venv 的终端会停止它。此外,据我所知,没有办法在 venv 中从它正在运行的终端的 外部 运行命令。
  • 我不认为你明白,这有什么问题......即使在手动激活 venv 并且没有杀死终端之后,如果我尝试 pip 安装某些东西,我也会遇到这个错误,我做不到此 venv 中的任何内容,除了运行文件,除非在执行后显示相同的错误。

标签: python visual-studio-code python-venv


【解决方案1】:

您应该将您的虚拟环境移动到其他位置,该路径不包含()

更新:

如果您想避免在创建新终端时自动激活虚拟环境。您可以将其添加到您的 settings.json 文件中:

"python.terminal.activateEnvironment": false,

【讨论】:

  • 我有一个 django 项目,并且 ity 工作正常,每当我打开一个新终端时,它都会成功激活一个 venv ....它运行相同的命令,但 & 之后的所有内容都在一个字符串中。 ....对于为什么会发生这种情况,我真的很困惑和震惊
  • @Gaz P 如果它包含在字符串中,它可以工作。
  • 是的,我手动尝试过,确实如此,该命令也在我的其他 django proj 中作为字符串运行,但是在这里,只要我打开一个新终端或尝试 pip install 任何东西,这个命令就会运行自动没有字符串并给出错误....我什么都做不了
  • @Gaz P 你能看一下答案的更新吗?
  • @Gaz P 我还是建议你创建一个新的虚拟环境。
猜你喜欢
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
相关资源
最近更新 更多