Уведомления

Группа в Telegram: @pythonsu

#1 Март 6, 2015 10:19:25

anatoly1712
Зарегистрирован: 2015-01-27
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

create pyd

python 3.4
eсть foo.py
как создать foo.pyd

Офлайн

#2 Март 6, 2015 10:45:23

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

create pyd

Is a *.pyd file the same as a DLL?
Yes, .pyd files are dll’s, but there are a few differences. If you have a DLL named foo.pyd, then it must have a function initfoo(). You can then write Python “import foo”, and Python will search for foo.pyd (as well as foo.py, foo.pyc) and if it finds it, will attempt to call initfoo() to initialize it. You do not link your .exe with foo.lib, as that would cause Windows to require the DLL to be present.

Note that the search path for foo.pyd is PYTHONPATH, not the same as the path that Windows uses to search for foo.dll. Also, foo.pyd need not be present to run your program, whereas if you linked your program with a dll, the dll is required. Of course, foo.pyd is required if you want to say import foo. In a DLL, linkage is declared in the source code with __declspec(dllexport). In a .pyd, linkage is defined in a list of available functions.
Т.о. никак, потому что pyd пишется на С/С++ используя Python API - все это есть в документации.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Март 6, 2015 14:56:23

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

create pyd

anatoly1712
eсть foo.py как создать foo.pyd

Cython / Nuitka /Cx_Freeze .

Офлайн

#4 Март 7, 2015 08:16:45

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

create pyd

anatoly1712
eсть foo.py
как создать foo.pyd
Вопрос странный. Из него совершенно непонятно зачем.
А поскольку непонятно, предлагаю выполнить в питоне команду:
os.rename("foo.py", "foo.pyd")
Получите то что просили.
Enjoy! :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version