python - 无法导入数据类模块

标签 python python-3.x python-import python-3.7 python-dataclasses

今天我从 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 的建议

此命令将:

  1. 使用python3.7运行命令
  2. -m 标志告诉解释器将下一个参数作为脚本运行
  3. venv 是一个模块,由于 -m 标志,它将作为脚本运行
  4. 最后,venv_dir 作为参数提供给 venv 模块,它 该模块将用于在以下位置创建虚拟环境目录

现在运行此命令后,您将拥有一个漂亮的沙箱,用于摆弄/测试数据类模块。

  • 要激活此虚拟环境,请确保在开始之前运行 source venv_dir/bin/activate。此命令将在 venv_dir/bin/activate 运行脚本,为您设置必要的环境变量和其他内容
  • 要停用,只需在激活后运行deactivate

关于python - 无法导入数据类模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163817/

相关文章:

python-3.x - 如何从字符串导入 Python 3 中的模块?

Python3 -m 在Eclipse中运行配置

python - 从 HTTP 响应到 csv

python - 多处理写入 Pandas 数据框

Python MySQL 将 DateTime 和 Decimal 值转换为可读值

python - Panda的左合并: resulting table has more rows,防止重复

python - 从依赖于交互式 map 的表中抓取数据

python-3.x - 打印第二个字符串在第一个字符串以逗号分隔的成员中出现的次数

python-2.7 - Numpy 和 Numpy-MKL 的区别?

python - 无法使用 Supervisord 启动 Python 应用程序