Python

在添加类型提示时遇到的问题

问题现已编辑为仅讨论一个错误,因为管理员因包含太多错误而对其进行了屏蔽。请注意,之所以列出所有错误,是因为它们可能相关: 在PyCharm中解决剩余的类型提示问题时有些困难。 代码: from wsgiref.types import StartResponse import importlib.util import importlib.machinery interactive_mode = True if interactive_mode: from collections.abc import C

已安装dbt-core,但执行dbt --version时出现错误信息

Context 我已经通过 uv 安装了dbt-core v1.11,但现在遇到了一个问题。 当我运行 uv run dbt --version 时,出现以下错误信息: user@host proj_dir % uv run dbt --version Traceback (most recent call last): File ".venv/bin/dbt", line 4, in from dbt.cli.main import cli File "

如何统计Python列表中元素的出现次数,并将结果存入字典?

我有一个Python列表,里面包含多份点单,其中有些条目会出现多次。我想统计每个条目出现的次数,并把结果存储在一个字典中(键是菜名,值是计数)。 下面是我当前的做法,使用一个 for 循环: orders = ["Burger", "Pizza", "Burger", "Ramen", "Pizza", "Burger"] count_dict = {} for item in orders: # This throws a KeyError because the key doesn't exist y

有没有办法在以log10为底的对数尺度上进行计算,并在seaborn的箱线图上以线性尺度显示结果?

我的数据表示每平方公里的项目数量,并分布在不同区域。我的数据框看起来是这样的: n_items region 28741 region_1 192 region_1 3856 region_2 12345 region_2 0 region_3 297 region_3 我的目标是显示一个箱线图,为每个区域展示不同的箱体,展示各区域的分布和统计特性。 由于我的数据遵循对数正态分布,我想做的是: 对 "n_items" 列取log10。 绘制一个seaborn的箱线图,使用log10(n_items) 来确

JetBrains PyCharm调试器在从控制台读取input() 输入时卡住

我刚刚更新到了PyCharm的最新版本。我使用的是Python 3.10.12。我有一个交互式Python脚本,使用 input() 函数读取用户输入。 我在Linux Mint 21上运行。 我写的脚本在非调试配置下运行时工作正常,但在调试配置下运行时就不工作了。在前几个输入位置它工作正常,但后面输入函数不再返回任何值,导致应用挂起。 发生这种情况时,我输入一个字符,y,然后按下回车键。它似乎从未将输入识别为完成,程序就一直挂起。 同样,在非调试配置下工作正常。 这是怎么回事?到目前为止我还没能找到任何

在Tkinter的 Toplevel类中更新标签文本

I am writing a Python app using tkinter for revising topics. -> 我正在用tkinter编写一个用于复习主题的Python应用。 It has a master (parent) window listing several topics as radio buttons, and a second (child) window which opens when the user selects the topic to be tested o

通过安装管理器安装Python后,为什么“Edit in IDLE”选项会变成灰色?

我刚在Windows 11上第一次使用安装管理器安装Python,此前一直使用现已弃用的安装程序。除了右键菜单中的“Edit in IDLE”选项变成灰色不可用之外,其他一切都正常;使用旧版安装程序会增加一个第二个可用的“Edit with IDLE”选项,删除安装管理器后,那个不可用的选项就会消失,因此据我所知,问题确实出在安装管理器上。IDLE本身仍然可以正常工作,可以通过 py -m idlelib 启动,或通过运行 idle.bat 启动。 我查看了注册表,显然IDLE的右键菜单选项不像以前那样被

如何在Python中缓存POST请求

我在学习如何缓存网页请求。我在使用库 requests-cache,当前版本1.3.2。我设法缓存了一个 GET 请求,使用这段代码: from requests_cache import CachedSession session = CachedSession('.cache') session.get('https://httpbin.org/get') 我用下述命令验证确实把该响应存到了缓存中。它显示我已存储1 个响应: sqlite3 .cache.sqlite 'select * from r

Selenium与 BeautifulSoup 4的组合导致.find_all无法正常工作,从而导致变量未定义

我正在把Selenium与我用BeautifulSoup4编写的代码结合起来,用来抓取一个页面上的价格,尽管仅使用BeautifulSoup4时代码运行正常,但在实现Selenium后,.find_all停止工作并让其中一个变量未定义,尽管有要追加的值。我的目标是让所有价格都打印出来并加入到列表中,随后将打印所有价格的合并结果。 这是我仅使用BeautifulSoup时的代码: from bs4 import BeautifulSoup import requests import sched, time

在我抛出ValueError时,HTTP 500是否合适?

如果在数据库中发现一个用户,我会抛出ValueError异常。 try: db.session.query(User).filter_by(id=user.id).one() raise ValueError("The user already exists in data base") except NoResultFound as e: # Ajouter à la session db.session.add(user) db.session.commit() 错误状态码是500。这样对吗?通常50