Всем доброго дня =). Разбираюсь с python (v.3.5, PyCharm CE 2017.2 на debian 9 stable). Хочу использовать модуль iptc. При компиляции ошибка:
File "/usr/local/lib/python3.5/dist-packages/iptc/xtables.py", line 812, in <module>
raise XTablesError("can't find directory with extensions; "
iptc.xtables.XTablesError: can't find directory with extensions; please set XTABLES_LIBDIR
В Google говорят, есть такой баг, типа пути отличаются и у меня по факту библиотеки ищутся не по тому пути. Решение: прописать путь к папке с библиотеками.
try XTABLES_LIBDIR=/usr/lib/x86_64-linux-gnu/xtables/ after making sure iptables is installed.
Проверил у себя. Папочка есть, библиотеки в ней лежат. Осталось только путь указать и все! НО! В коде явно прописал - не работает.В настройках интерпретатора pycharm прописал путь к папке - не работает. Наверно, я что-то делаю не так.
Посоветуйте как прописать правильно путь к библиотекам? Спасибо.
Разобрался. В режиме отладки PyCharm показал место, где происходит ошибка. Собственно, где проверяются пути. Исправил путь
"/usr/lib/xtables"
на свой
"/usr/lib/x86_64-linux-gnu/xtables"
и заработало.
if _xtables_libdir is None:
import os.path
for xtdir in ["/lib/xtables", "/lib64/xtables", "/usr/lib/xtables",
"/usr/lib/iptables", "/usr/lib64/xtables",
"/usr/lib64/iptables", "/usr/lib/x86_64-linux-gnu/xtables"]:
if os.path.isdir(xtdir):
_xtables_libdir = xtdir
break
if _xtables_libdir is None:
raise XTablesError("can't find directory with extensions; "
"please set XTABLES_LIBDIR")