Есть приложение Django на VDS, которое прекрасно работает, но при подключении .DLL возникает ошибка 'clr' has no attribute 'AddReference'

Не могу устранить ошибку: module 'clr' has no attribute 'AddReference' VDS Ubuntu22+Apache2 +Python3.10.9+ Django 4, 1, 5 +ip и доменное имя, все работает нормально, но мне нужно подключить dll (.net7.0)(dotnet build --runtime ubuntu.22.04-x64 --self-contained)- если вы подключаетесь к VDS через клиент Openssh, то .dll подключится в среде python3, которая там есть, но при загрузке страницы возникает ошибка module 'clr' has no attribute 'AddReference', единственное отличие, которое я заметил, заключается в том, что сайт выдает Python.version=3.10.6 (main, Nov 14 2022, 16:10:14) [ GCC 11.3.0], (import sys sys.version) , когда я нахожусь в клиенте Openssh, он пишет '3.10.9 (main, Jan 24 2023, 10:16:41) [GCC 11.3.0]', может быть, это какая-то причина?

вот что я имею за Traceback загрузки сайта :

Traceback (most recent call last):
  File "/home/djangoexample4/env/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/home/djangoexample4/env/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/djangoexample4/mainapp/views.py", line 135, in index
    clr.AddReference('/home/djangoexample4/btclinux2/MyLibraryName/bin/Debug/net7.0/ubuntu.22.04-x64/MyLibraryName.dll')

Exception Type: AttributeError at /
Exception Value: module 'clr' has no attribute 'AddReference'

если через openSSH client подключатся к VDS, то ни какой ошибки уже почемуто нет:

# monop -r /home/djangoexample4/btclinux2/MyLibraryName/bin/Debug/net7.0/ubuntu.22.04-x64/MyLibraryName.dll

Assembly Information:
MyLibraryName
Version=1.0.0.0
Culture=neutral
PublicKeyToken=null
MyLibraryName.Class1
Total: 1 types.

исходный си шарп

namespace MyLibraryName{

    public class Class1
    {
        public int method1()
        {
            return 777;
        }
    }
}

вот это при обращении через консоль на этом VDS:

# python3
>>>import clr
>>>clr.AddReference('/home/djangoexample4/btclinux2/MyLibraryName/bin/Debug/net7.0/ubuntu.22.04-x64/MyLibraryName.dll')
>>>from MyLibraryName import Class1
>>>variable = Class1().method1()
>>>print (variable)
777

вот это тоже делал:

pip uninstall clr
pip uninstall pythonnet
pip install pythonnet

добавить WSGIApplicationGroup %{GLOBAL} в /etc/apache2/sites-enabled/youdomain.conf

<VirtualHost *:80>
 . . .
WSGIApplicationGroup %{GLOBAL}
</VirtualHost>

И это все заработало!

Вернуться на верх