今天我从 apt-get 安装了 python 3.7 来试用新的数据类模块。我单独安装它是因为 python3.6 无法升级到 3.7。
当我键入:python3.7 --version
时,它会给我:>>> Python 3.7.0a2
作为我的当前版本。
问题是我似乎无法导入数据类。
我的导入语句是:from dataclasses import dataclass
按照说明 here
这是它给我的错误信息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'dataclasses'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'dataclasses'
我什至尝试使用 pip3 安装数据类模块:pip3 install dataclasses
。不确定是否有必要。
对可能出现的问题有什么建议吗?
[编辑] 刚刚用 python3.6 控制台试了一下,它工作正常..很奇怪。
最佳答案
根据@wim python3.7 -m venv venv_dir
的建议
此命令将:
- 使用python3.7运行命令
-m
标志告诉解释器将下一个参数作为脚本运行venv
是一个模块,由于-m
标志,它将作为脚本运行- 最后,
venv_dir
作为参数提供给venv
模块,它 该模块将用于在以下位置创建虚拟环境目录
现在运行此命令后,您将拥有一个漂亮的沙箱,用于摆弄/测试数据类模块。
- 要激活此虚拟环境,请确保在开始之前运行
source venv_dir/bin/activate
。此命令将在venv_dir/bin/activate
运行脚本,为您设置必要的环境变量和其他内容 - 要停用,只需在激活后运行
deactivate
关于python - 无法导入数据类模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163817/