Не удалось импортировать модуль классов данных
Сегодня я установил python 3.7 из apt-get, чтобы опробовать новый модуль dataclasses. Я установил его отдельно, потому что python3.6 не был обновлен до 3.7.
Когда я печатаю: python3.7 --version
, это дает мне: >>> Python 3.7.0a2
как моя текущая версия.
Проблема в том, что я не могу импортировать классы данных.
мое заявление на импорт: from dataclasses import dataclass
как указано здесь
Это сообщение об ошибке, которое он мне дает:
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'
Я даже пытался установить модуль dataclasses с помощью pip3: pip3 install dataclasses
, Не уверен, если это необходимо, хотя.
Любое предложение о том, в чем может быть проблема?
[EDIT] Просто попробовал это с консолью python3.6, и она работала нормально.. странно.
1 ответ
По предложению @wim python3.7 -m venv venv_dir
Эта команда будет:
- Используйте python3.7 для запуска команды
-m
флаг говорит интерпретатору запустить следующий аргумент как скриптvenv
является модулем, и из-за-m
пометить, что он будет запущен как скрипт- Наконец,
venv_dir
даетсяvenv
модуль в качестве аргумента, который этот модуль будет использовать для создания каталога виртуальной среды в
Как только эта команда будет запущена, теперь у вас будет хорошая песочница для возни / тестирования модуля dataclasses.
- Для активации этой виртуальной среды обязательно запустите
source venv_dir/bin/activate
прежде чем вы начнете. Эта команда запустит скрипт вvenv_dir/bin/activate
настроить необходимые переменные среды и другие вещи для вас - Чтобы деактивировать, просто запустите
deactivate
после активации