欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)

 更新時(shí)間:2021年03月04日 09:33:33   作者:darren2015zdc  
這篇文章主要介紹了pyx文件 生成pyd 文件用于 cython調(diào)用的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

pyx文件是python的c擴(kuò)展文件,代碼要符合cython的規(guī)范,用什么編輯器寫(xiě)都行。我在eric4上寫(xiě)的,結(jié)果它默認(rèn)用python解釋器來(lái)進(jìn)行解釋?zhuān)€提示有bug,“語(yǔ)法錯(cuò)誤”。

上面的pyx文件還僅僅是源代碼文件,要想被python調(diào)用、要想運(yùn)行,僅僅寫(xiě)了源代碼還是不夠的。具體來(lái)說(shuō),還要轉(zhuǎn)成.c或者.c++的文件,并且再進(jìn)一步轉(zhuǎn)成.pyd文件。

pyd文件才是可以直接使用的文件。為了達(dá)到上述目的,就要寫(xiě)一個(gè)setup.py腳本,如下:

#!/usr/bin/python
#python version: 2.7.3
#Filename: SetupTestOMP.py 
# Run as: 
# python setup.py build_ext --inplace 
 
import sys 
sys.path.insert(0, "..") 
 
from distutils.core import setup 
from distutils.extension import Extension 
from Cython.Build import cythonize 
from Cython.Distutils import build_ext
 
# ext_module = cythonize("TestOMP.pyx") 
ext_module = Extension(
   "TestOMP",
  ["TestOMP.pyx"],
  extra_compile_args=["/openmp"],
  extra_link_args=["/openmp"],
  )
 
setup(
 cmdclass = {'build_ext': build_ext},
 ext_modules = [ext_module], 
)

這個(gè)完全是一個(gè)python腳本,可以在python解釋器下面運(yùn)行。

在控制臺(tái)下,運(yùn)行如下命令‘python setup.py build_ext --inplace',就生成了TestOMP.pyd文件。

當(dāng)然,同時(shí)還有一些雜七雜八的文件,如‘build'目錄下面的‘lib'文件。

這都提示著,這是在windows vistual studio環(huán)境下。

在linux+gcc環(huán)境下,就要生成.so文件了,而且“/openmp”的選項(xiàng)就要寫(xiě)成“-fopenmp”

寫(xiě)TestOMP.py

文件上述兩個(gè)步驟,相當(dāng)于把某個(gè)python效率瓶頸模塊(這之前需要用profile工具來(lái)定位)用效率更高的代碼寫(xiě)成了python的c擴(kuò)展形式,接下來(lái),就是要在python代碼中調(diào)用他們。TestOMP.py就是這個(gè)調(diào)用的腳本,如下:

from TestOMP import Test 
Test()

這個(gè)就很容易了,import并且調(diào)用。在控制臺(tái)下,輸入“python TestOMP.py”,運(yùn)行。

補(bǔ)充:python無(wú)法導(dǎo)入Cython的.pyx文件?

解決方法:

在import相應(yīng)包之前,添加:

import pyximport
pyximport.install()

如果上面安裝完成后運(yùn)行程序又出現(xiàn)

No module named pyximport

此時(shí)需要:

pip install Cython 

即可~

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例

    詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例

    本篇文章主要介紹了詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • python代碼實(shí)現(xiàn)將列表中重復(fù)元素之間的內(nèi)容全部濾除

    python代碼實(shí)現(xiàn)將列表中重復(fù)元素之間的內(nèi)容全部濾除

    這篇文章主要介紹了python代碼實(shí)現(xiàn)將列表中重復(fù)元素之間的內(nèi)容全部濾除,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • ubuntu安裝mysql pycharm sublime

    ubuntu安裝mysql pycharm sublime

    本文給大家匯總介紹了在Ubuntu中如何安裝mysql+pycharm+sublime的方法,有相同需求的小伙伴可以參考下
    2018-02-02
  • Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過(guò)程

    Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • python openCV實(shí)現(xiàn)攝像頭獲取人臉圖片

    python openCV實(shí)現(xiàn)攝像頭獲取人臉圖片

    這篇文章主要為大家詳細(xì)介紹了python openCV實(shí)現(xiàn)攝像頭獲取人臉圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 關(guān)于使用Python的time庫(kù)制作進(jìn)度條程序

    關(guān)于使用Python的time庫(kù)制作進(jìn)度條程序

    這篇文章主要介紹了關(guān)于使用Python的time庫(kù)制作進(jìn)度條程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 利用Python繪畫(huà)雙擺操作分享

    利用Python繪畫(huà)雙擺操作分享

    這篇文章主要介紹了利用Python畫(huà)雙擺,繪畫(huà)雙擺的過(guò)程主要包括以下步驟,雙擺問(wèn)題、運(yùn)動(dòng)過(guò)程及公式推導(dǎo)過(guò)程,下文詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-04-04
  • python正則表達(dá)式match和search用法實(shí)例

    python正則表達(dá)式match和search用法實(shí)例

    這篇文章主要介紹了python正則表達(dá)式match和search用法,實(shí)例分析了正則表達(dá)式中match和search的功能、定義及相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 基于pytorch的lstm參數(shù)使用詳解

    基于pytorch的lstm參數(shù)使用詳解

    今天小編就為大家分享一篇基于pytorch的lstm參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Pygame與OpenCV聯(lián)合播放視頻并保證音畫(huà)同步

    Pygame與OpenCV聯(lián)合播放視頻并保證音畫(huà)同步

    Pygame的Movie模塊已經(jīng)廢棄多年,本文主要介紹了Pygame與OpenCV聯(lián)合播放視頻并保證音畫(huà)同步,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評(píng)論