Load Python Module correctly

Юрий Иванов format_hub at outlook.com
Mon Mar 25 06:26:32 CET 2019


Hi,
This is not enough.
You need to add all additional paths to variable "python_path".
To get all list of paths I usually execute under python interpreter:

CentOS example:
[root at radius ~]# python
Python 2.7.5 (default, Aug  4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages']

________________________________
От: Freeradius-Users <freeradius-users-bounces+format_hub=outlook.com at lists.freeradius.org> от имени luckydog xf <luckydogxf at gmail.com>
Отправлено: 25 марта 2019 г. 5:32
Кому: FreeRadius users mailing list
Тема: Load Python Module correctly

Hi, list,

 I want to write my own python code,  I added below lines.

# /etc/raddb/mods-enabled/python

        python_path =  "/usr/lib64/python2.7/"

        module = example
---------

in /usr/lib64/python2.7/example.py, I imported required modules.
#
import radiusd
import requests
import json
... ... some other code ......

And radiusd -X raised an error:

python_function_load - Module 'example' not found
<type 'exceptions.ImportError'> (No module named requests)
python_function_load - Failed to import python function
'example.instantiate'
/etc/raddb/mods-enabled/python[9]: Instantiation failed for module "python"

Acutally, * requests * and * json * are both available, see

# python
...... # remove unless lines ###
>>> import radiusd
>>> import requests
>>> import json
>>>

So what's the right way to implement this? Thanks.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


More information about the Freeradius-Users mailing list