Python + как узнать, кто удалил модуль Python - PullRequest
0 голосов
/ 22 января 2019

Я хочу участвовать все о странной проблеме (ОС Redhat 7.2)

Мы видим, что модуль carbon.util отсутствует

/opt/graphite/bin/carbon-cache.py start
Traceback (most recent call last):
  File "/opt/graphite/bin/carbon-cache.py", line 28, in <module>
    from carbon.util import run_twistd_plugin
ImportError: No module named carbon.util

Эта проблема новая, потому что до пары недель все было в порядке

Итак, один вывод: может быть, кто-то использует pip и по ошибке удалит модуль? ,

или какое-то действие, которое удалило модуль, или другое предположение,

Можно ли отследить историю пипсов или найти причину удаления модуля?

просто для получения дополнительной информации это скрипт, который использует модуль,

more  /opt/graphite/bin/carbon-cache.py
#!/usr/bin/python2
"""Copyright 2009 Chris Davis

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License."""

import sys
import os.path

# Figure out where we're installed
BIN_DIR = os.path.dirname(os.path.abspath(__file__))
ROOT_DIR = os.path.dirname(BIN_DIR)

# Make sure that carbon's 'lib' dir is in the $PYTHONPATH if we're running from
# source.
LIB_DIR = os.path.join(ROOT_DIR, "lib")
sys.path.insert(0, LIB_DIR)

from carbon.util import run_twistd_plugin
from carbon.exceptions import CarbonConfigException

try:
    run_twistd_plugin(__file__)
except CarbonConfigException, exc:
    raise SystemExit(str(exc))

1 Ответ

0 голосов
/ 22 января 2019

pip имеет параметр - log , но он не включен по умолчанию, поэтому, если этот параметр не был включен, что кажется маловероятным в этом случае, вы не сможете отследить историю пипсов.В любом случае, для переустановки модуля достаточно простого «pip install carbon», как будто ничего не произошло.

Если вам действительно нужно выяснить, что произошло на машине, вы всегда можете попробовать проверить файл истории оболочки(~ / .bash_history для bash) и выясните, кто был зарегистрирован с помощью «last», но это скорее проблема криминалистики, чем проблема Python.

...