Я пытался запустить python3 скрипт следующим образом:
$python3 quick_dump.py
... но каждый раз я произвожусь как:
ImportError: Никакой модуль, названный '_chipset'
Я просто наблюдал quick_dump.py импорт сценария, и здесь они:
#!/usr/bin/env python3
# register definition format:
# ('register name', 'register offset', 'register type')
#
# register types:
# '' - normal register
# 'DPIO' - DPIO register
#
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
import argparse
import os
import sys
import ast
import subprocess
import chipset
import reg_access as reg
Я попробовал $python3-> справка () util, чтобы видеть, доступен ли модуль чипсета; я вижу подарки модуля чипсета в списке; Таким образом, все должны быть в порядке, но это не :P btw я не вижу _chipset модуль в списке поэтому, возможно, это - вещь?
Я смотрел chipset.py сценарий и здесь его код:
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info
if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('_chipset', [dirname(__file__)])
except ImportError:
import _chipset
return _chipset
if fp is not None:
try:
_mod = imp.load_module('_chipset', fp, pathname, description)
finally:
fp.close()
return _mod
_chipset = swig_import_helper()
del swig_import_helper
else:
import _chipset
del version_info
try:
_swig_property = property
except NameError:
pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
if method: return method(self,value)
if (not static):
self.__dict__[name] = value
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self,class_type,name,value):
return _swig_setattr_nondynamic(self,class_type,name,value,0)
def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError(name)
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
try:
_object = object
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
def is_sandybridge(*args):
return _chipset.is_sandybridge(*args)
is_sandybridge = _chipset.is_sandybridge
def is_ivybridge(*args):
return _chipset.is_ivybridge(*args)
is_ivybridge = _chipset.is_ivybridge
def is_valleyview(*args):
return _chipset.is_valleyview(*args)
is_valleyview = _chipset.is_valleyview
def is_cherryview(*args):
return _chipset.is_cherryview(*args)
is_cherryview = _chipset.is_cherryview
def is_haswell(*args):
return _chipset.is_haswell(*args)
is_haswell = _chipset.is_haswell
def is_broadwell(*args):
return _chipset.is_broadwell(*args)
is_broadwell = _chipset.is_broadwell
def is_skylake(*args):
return _chipset.is_skylake(*args)
is_skylake = _chipset.is_skylake
def intel_get_pci_device():
return _chipset.intel_get_pci_device()
intel_get_pci_device = _chipset.intel_get_pci_device
def intel_register_access_init(*args):
return _chipset.intel_register_access_init(*args)
intel_register_access_init = _chipset.intel_register_access_init
def intel_register_read(*args):
return _chipset.intel_register_read(*args)
intel_register_read = _chipset.intel_register_read
def intel_register_write(*args):
return _chipset.intel_register_write(*args)
intel_register_write = _chipset.intel_register_write
def intel_register_access_fini():
return _chipset.intel_register_access_fini()
intel_register_access_fini = _chipset.intel_register_access_fini
def intel_register_access_needs_fakewake():
return _chipset.intel_register_access_needs_fakewake()
intel_register_access_needs_fakewake = _chipset.intel_register_access_needs_fakewake
def pcidev_to_devid(*args):
return _chipset.pcidev_to_devid(*args)
pcidev_to_devid = _chipset.pcidev_to_devid
def intel_dpio_reg_read(*args):
return _chipset.intel_dpio_reg_read(*args)
intel_dpio_reg_read = _chipset.intel_dpio_reg_read
def intel_flisdsi_reg_read(*args):
return _chipset.intel_flisdsi_reg_read(*args)
intel_flisdsi_reg_read = _chipset.intel_flisdsi_reg_read
# This file is compatible with both classic and new-style classes.
Таким образом, мой вопрос состоит... в том, как зафиксировать ошибку или существует ли способ оптимального обходного решения?
РЕДАКТИРОВАНИЕ:
Я попробовал к a), настраивают компиляцию b) c), устанавливают intel-gpu-tools источники с, делают util; таким образом, это, кажется, установлено теперь, но тем не менее я не могу назвать quick_dump; я ввел "$sudo quick_dump", но я добираюсь "sudo: quick_dump: команда, не найденная" как вывод :(
дайте мне подсказку, что я делаю неправильно?
Спасибо
_chipset
, как предполагается, собственный модуль (см. chipset.i
в тот же каталог ), который необходимо создать из источника, по-видимому.
Грубые инструкции по загрузке и компиляции:
Установка git
с диспетчером пакетов и клоном репозиторий:
git clone git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
cd intel-gpu-tools
инструменты сборки Установки (build-essential autoconf automake gcc
), предпосылки (видят раздел в последний раз README
) и работают ./autogen.sh
(который говорит Вам о недостающих предпосылках).
Сборка: make -C tools/quick_dump
Установка: sudo make -C tools/quick_dump install
я не попробовал его сам, так как будет трудно установить i915 файлы для разработчика драйвера здесь.