У меня ValueError: недопустимый литерал для int () с базой 10: 'server' при входе в nvidia-Detector

ubuntu@deeplearn-ubuntu:~$ nvidia-detector 
Traceback (most recent call last):
  File "/bin/nvidia-detector", line 8, in <module>
    a = NvidiaDetection(printonly=True, verbose=False)
  File "/usr/lib/python3/dist-packages/NvidiaDetector/nvidiadetector.py", line 73, in __init__
    self.getData()
  File "/usr/lib/python3/dist-packages/NvidiaDetector/nvidiadetector.py", line 163, in getData
    driver_version = self.__get_value_from_name(stripped_package_name)
  File "/usr/lib/python3/dist-packages/NvidiaDetector/nvidiadetector.py", line 92, in __get_value_from_name
    v = int(name)
ValueError: invalid literal for int() with base 10: 'server'
0
задан 14 July 2020 в 09:39

1 ответ

обходной путь заключается в добавлении этих строк в /usr/lib/python3/dist-packages/NvidiaDetector/nvidiadetector.py:

--- nvidiadetector.py   2020-08-09 15:54:01.089855652 +0400
+++ /usr/lib/python3/dist-packages/NvidiaDetector/nvidiadetector.py 2020-08-09 16:26:15.321390371 +0400
@@ -160,6 +160,8 @@
             # package names can be like "nvidia-173:i386" and we need to
             # extract the driver flavour from the name e.g. "173"
             stripped_package_name = package.name.split('-')[-1].split(':', 1)[0]
+            if not stripped_package_name.isnumeric():
+                stripped_package_name = package.name.split('-')[-2].split('-', -1)[0]
             driver_version = self.__get_value_from_name(stripped_package_name)
 
             try:

потому что один из пакетов использует суффикс строки после номера версии .

5
ответ дан 9 August 2020 в 12:40

Другие вопросы по тегам:

Похожие вопросы: