LINUX.ORG.RU

PyCharm + iptc

 , , ,


0

2

Всем доброго дня =). Разбираюсь с 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 прописал путь к папке - не работает. Наверно, я что-то делаю не так. Посоветуйте как прописать правильно путь к библиотекам? Спасибо.


Что именно и в каком коде вы прописали? XTABLES_LIBDIR это вроде как переменная среды (environment variable), выставляемая к shelle'е.

mky ★★★★★ ()
Ответ на: комментарий от mky

в начале

import iptc
А ниже
XTABLES_LIBDIR = "/usr/lib/x86_64-linux-gnu/xtables"
PyCharm на сам код не ругается, ошибка при компиляции осталась та, что указана выше.

kerby ()
Ответ на: комментарий от mky

Разобрался. В режиме отладки 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")

kerby ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.