导入数据类模块失败

时间:2018-07-03 23:01:02

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

今天,我从apt-get安装了python 3.7,以尝试新的dataclasses模块。我将其单独安装是因为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安装dataclasses模块。不确定是否有必要。

关于可能是什么问题的任何建议?

[EDIT]刚刚在python3.6控制台上尝试了一下,效果很好..很奇怪。

1 个答案:

答案 0 :(得分:0)

如@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