python - Python脚本在虚拟环境中从终端运行,但无法找到带有VS Code播放按钮的熊猫
问题描述
我是 VS Code 的新手。我创建了一个虚拟环境并选择它作为我运行的解释器
pip install -r requirements
从允许在该虚拟环境中安装熊猫的终端(我相信基于文档
从终端的那个目录,我跑了
python myscript.py
有用。生成应有的输出。
然后我尝试在上面的窗口中运行相同的脚本,我得到了错误,没有名为 pandas 的模块。我没有更换翻译。 更新 当关闭终端然后尝试从资源管理器/调试窗口运行代码时,我收到了运行脚本失败的通知。因此,我(基于这篇文章更改了我在 Windows Shell 中的执行策略(单独的,而不是在 VS 终端中),现在它至少进入了环境,但是我仍然遇到同样的错误,熊猫未知。
更新 2
我在教程中注意到他们创建了目录,然后在其中创建了环境。我将我的代码移动到我创建的虚拟环境下,然后它可以从终端和调试/资源管理器窗口工作。然而,在这里我注意到 intrepetor 没有被描述为虚拟环境,而是看起来像标准版本 - 现在我没有选择 working_env 作为解释器的选项。
运行 pip freeze 会显示最新版本的 pandas,例如,这不是我在其他地方安装的。所以这行得通,但我现在不确定这是否真的是我应该使用虚拟环境的方式。
**更新 3 无论出于何种原因,我现在都可以更新解释器。但是,当我这样做时,我又回到了原来的位置。我可以在选择了解释器的终端中运行程序,但是从调试窗口运行我得到了 pandas 丢失的错误。尝试安装熊猫我被告知要求已满足。运行 pip freeze 确认已安装。我有一种感觉,我以某种方式在我想要的环境中安装了 pandas
我在 vscode 设置中遗漏了什么?
解决方案
根据这两个评论,我在这里遇到了几个问题。
无论出于何种原因,在更新 2 期间,我最初在文件夹中时都看不到解释器,但它就在那里。在文档中指出,这可能需要一段时间。无论如何,它必须在左下角显示您在口译员中
使用 powershell,我需要将执行策略更改为不受限制。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
然后我没有在虚拟环境和解释器中安装熊猫。所以
. ..\Scripts\activate.ps1 激活工作环境
python -m pip install -r requirements.txt
安装了我的包
运行我的脚本是通过
python .\myscript.py
并且也可以使用播放按钮运行(尽管在这里我必须按 Ctrl+Sft+P 键入终端:选择默认外壳,确保终端是 powershell 并重新启动)
推荐阅读
- c++ - 为什么在类(c++)中声明之前使用变量(特别是在成员函数中)不会产生编译错误?它是如何工作的?
- c# - 在 C# 中传递一个字符串
- python - ValueError:输入必须是 rank-1 数组。使用 scipy.signal.ss2zpk 时
- javascript - 使用 Promise.then.then... 或 async/await?
- java - mybatis 在 PostgreSQL 13 中插入记录后选择最新的主键
- reactjs - React - 无法读取未定义的属性“标题”
- r - 将堆积的水平条形图绘制为R中的百分比
- python - 尝试使用 GeoPandas 添加底图背景,背景显示不正确
- sql - 为重复值修改 spx
- docker - 从 Docker 基础映像中排除文件/文件夹