标签: python-3.9

什么是“软关键词”?

根据keyword模块的文档,Python 3.9 中添加了两个新成员:

  • issoftkeyword
  • softkwlist

然而,他们的文档并未透露任何有关其目的的信息。新功能文章中甚至没有提到此更改,通常所有 API 更改都记录在文档中。深入挖掘源代码最终会导致这个拉取请求,其中提到“这本质上是一个内部工具”“软关键字仍未使用”。那么 Python 的 soft 关键字的目的是什么?

python python-3.9

102
推荐指数
3
解决办法
8226
查看次数

AttributeError: 模块“importlib”没有属性“util”

我刚刚从 Fedora 32 升级到 Fedora 33(Python 3.9 附带)。从那以后gcloud命令停止工作:

[guy@Gandalf32 ~]$ gcloud 
Error processing line 3 of /home/guy/.local/lib/python3.9/site-packages/XStatic-1.0.2-py3.9-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/lib64/python3.9/site.py", line 169, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 562, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Traceback (most recent call last):
  File "/usr/lib64/google-cloud-sdk/lib/gcloud.py", line 104, in <module>
    main()
  File "/usr/lib64/google-cloud-sdk/lib/gcloud.py", line 62, in main
    from googlecloudsdk.core.util import encoding
  File "/usr/lib64/google-cloud-sdk/lib/googlecloudsdk/__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

python fedora gcloud python-3.9

79
推荐指数
5
解决办法
3万
查看次数

Python 中的 __peg_parser__ 是什么?

我使用keyword内置模块来获取当前 Python 版本的所有关键字的列表。这就是我所做的:

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Run Code Online (Sandbox Code Playgroud)

keyword.kwlist列表中有__peg_parser__. 所以为了看看它的作用,我__peg_parser__在 Windows 上输入了一个 Python 3.9 解释器(你将在 Mac OS 和 Linux 上得到相同的输出),这就是得到的:

>>> __peg_parser__
  File "<stdin>", line 1
    __peg_parser__
    ^
SyntaxError: You found it!
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,什么是__peg_parser__,为什么我得到SyntaxError: …

python python-3.x python-3.9

55
推荐指数
3
解决办法
3066
查看次数

如何使用conda安装python3.9?

我正在尝试在 conda 环境中安装 python 3.9。我尝试使用以下命令创建一个新的 conda env,

conda create --name myenv python=3.9
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息,说找不到包,因为尚未发布 python 3.9

因此,我在envs文件夹中手动创建了一个文件夹并尝试列出所有环境。但是我无法获得手动创建的新环境。

那么,如何在具有所有功能(例如pip工作)的 conda env 中安装 python 3.9 ?

python conda python-3.9

44
推荐指数
3
解决办法
7万
查看次数

python3.9上的pip3在'HTMLParser'对象上失败,没有属性'unescape'

安装(ubuntu)python3.9后,安装一些pip包失败:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 14, in <module>
        from setuptools.dist import Distribution, Feature
      File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 24, in <module>
        from setuptools.depends import Require
      File "/usr/lib/python3/dist-packages/setuptools/depends.py", line 7, in <module>
        from .py33compat import Bytecode
      File "/usr/lib/python3/dist-packages/setuptools/py33compat.py", line 54, in <module>
        unescape = getattr(html, 'unescape', html_parser.HTMLParser().unescape)
    AttributeError: 'HTMLParser' object has no attribute 'unescape'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Run Code Online (Sandbox Code Playgroud)

python pip python-3.9

22
推荐指数
1
解决办法
2万
查看次数

Django 中的cached_property 与Python 的functools 之间有什么区别?

Django 有一个名为 的装饰器cached_property,可以从django.utils.functional. 另一方面,Python 3.8 添加了cached_property标准库,可以从functools.

两者是等价的,即它们可以互换吗?或者两者有什么区别?何时使用其中一种或另一种是否有最佳实践?

python django python-3.8 python-3.9

22
推荐指数
1
解决办法
8336
查看次数

基于 Python 3.9 的软件无法在 Windows 7 上运行

我使用python3.9制作了一个独立的软件,它可以在我的系统和另一个 Windows 10 系统上正常运行,但我尝试在Windows 7 Ultimate上运行该软件,但它显示了一些错误。请注意,我通过使用PyInstaller绑定所有必需的 python 模块来制作该软件。这些错误如下:

  1. 加载 Python DLL 'C:\Users\hp\AppData\Local\Temp_MEI19602\python39.dll' 时出错。LoadLibrary:找不到指定的模块。
  2. 该程序无法启动,因为您的计算机缺少api-ms-win-core-path-l1-1-0.dll 。尝试重新安装该程序来解决此问题。

我该如何在 Windows 7 上运行该程序?

python windows dll windows-7 python-3.9

18
推荐指数
2
解决办法
1万
查看次数

字典理解中的海象运算符

我想避免在字典理解中对平均值进行双重评估,并且我尝试使用海象运算符:

>>> dic = {"A": [45,58,75], "B": [55,82,80,92], "C": [78,95,90], "D":[98,75]}
>>> q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
  File "<pyshell#2>", line 1, in <dictcomp>
    q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
  NameError: name …
Run Code Online (Sandbox Code Playgroud)

python dictionary-comprehension python-3.9 walrus-operator

14
推荐指数
1
解决办法
3653
查看次数

AWS lambda 什么时候支持 python 3.9?

嗨,有谁知道我怎样才能知道 AWS lambda 何时将他们的支持升级到 python 3.9?他们上一次升级到 3.8 是在 2019 年,距离 v3.9 发布已经有一段时间了。

我很想使用最新的 v3.9 语言功能,但遗憾的是无法在 AWS 中使用

amazon-web-services aws-lambda python-3.9

13
推荐指数
2
解决办法
2211
查看次数

Python 3.9 和 PEP 585 中的typing.Any - 标准集合中的类型提示泛型

我想了解是否typing仍然需要该软件包?

如果在 Python 3.8 中我这样做:

from typing import Any, Dict
my_dict = Dict[str, Any]
Run Code Online (Sandbox Code Playgroud)

现在,在通过 PEP 585 的 Python 3.9 中,现在首选使用集合的内置类型,因此:

from typing import Any
my_dict = dict[str, Any]
Run Code Online (Sandbox Code Playgroud)

我是否仍然需要使用typing.Any或者是否有一个我找不到的内置类型来替换它?

python type-hinting python-typing python-3.9

12
推荐指数
1
解决办法
4340
查看次数