欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Win7+Python2.7安裝GDAL:源碼編譯與MSI兩條路通通走通

Win7+Python2.7安裝GDAL:源碼編譯與MSI兩條路通通走通 簡(jiǎn)介針對(duì) Windows 7 64 位平臺(tái)下 Python 2.7 安裝 GDAL 的教程文檔面向需要使用 GDAL 處理地理空間數(shù)據(jù)的開發(fā)者特別是初次接觸時(shí)經(jīng)常遇到編譯與依賴問題的用戶。文檔詳細(xì)梳理了安裝前的環(huán)境準(zhǔn)備包括 Visual Studio 2010、GEOS 3.3.8 與 Python 2.7并對(duì)比介紹了源碼編譯與官方 MSI 安裝兩種方案清晰標(biāo)注了操作命令與目錄切換等關(guān)鍵細(xì)節(jié)。文中還給出了 swig.exe 未安裝時(shí)環(huán)境變量的配置方法以及 DLL load failed 時(shí) bin 目錄的添加路徑方便讀者對(duì)照操作。資源僅含 1 個(gè) docx 文檔大小約 95KB內(nèi)容涵蓋環(huán)境配置、兩種安裝路徑、安裝結(jié)果驗(yàn)證以及常見錯(cuò)誤排錯(cuò)既有操作步驟又有附錄錯(cuò)誤表便于逐項(xiàng)排查。整個(gè)安裝流程經(jīng)過真實(shí)環(huán)境驗(yàn)證排錯(cuò)思路完整按文檔操作可少走彎路。已有 628 人瀏覽學(xué)習(xí)對(duì)計(jì)劃在舊版 Windows 與 Python 環(huán)境中部署 GDAL 的用戶具有直接參考價(jià)值可有效節(jié)省自行摸索的時(shí)間。1. 老機(jī)器上裝 GDAL源碼編譯與 MSI 安裝兩條路我都走通了在 Win7 64 位這臺(tái)還在服役的老機(jī)器上給 Python 2.7 裝 GDAL是我最近做過最折騰的事不是缺 swig 就是找不到 Vcvarsall.bat好不容易裝上import gdal 又開始報(bào) DLL 加載失敗。我把源碼編譯和官方 MSI 兩條路線都完整走通以后最大的體會(huì)是別盲目追新GDAL 1.9.2 在 2013 年的環(huán)境里遠(yuǎn)比 1.11.0 穩(wěn)網(wǎng)上資料多到能讓你迷路但踩坑記錄也更完整。這份資源解決的是兩件事一是把 GDAL 的 C 核心裝好二是讓 Python 2.7 能 import gdal并順利讀取柵格數(shù)據(jù)。如果你跟我一樣在 Win7 64 位下用 VS2010 開發(fā)或者想快速用上測(cè)繪、遙感里的 GDAL 工具這篇筆記里的每一步命令、每一處環(huán)境變量都能讓你少走半天彎路。適合那種“機(jī)器不能換、Python 版本不能升、但功能必須跑起來”的場(chǎng)景。2. 安裝前的預(yù)備工作版本搭配、環(huán)境變量和 x64 命令提示符2.1 版本搭配GDAL 1.9.2 不是越老越好是剛剛好在開裝之前先把這堆版本的依賴關(guān)系捋清楚。GDAL 本身是一個(gè) C 庫(kù)Python 要調(diào)用它不是直接通過 ctypes而是通過 SWIG 生成的包裝層。這個(gè)包裝層在編譯時(shí)會(huì)調(diào)用 Python.h 和 Python 的導(dǎo)入庫(kù)同時(shí)要鏈接到 gdal 的核心 DLL。也就是說你現(xiàn)在用的 Python 是哪一版、VS 是哪一版、GDAL 源碼是哪個(gè)版本三者必須能對(duì)上號(hào)。我一開始圖新鮮選了 GDAL 1.11.0結(jié)果在編譯 swig 包裝時(shí)遇到一個(gè)關(guān)于gdal_version.h宏定義錯(cuò)誤滿世界找資料只找到一篇博客而且那是針對(duì) 1.9.2 的。換回 1.9.2 后同樣的操作一次通過。這個(gè)版本的“資料多”本身就是最大的優(yōu)勢(shì)——遇到問題你能快速定位到你當(dāng)前版本而不是在一個(gè)泛泛的“新版”下面猜答案。GEOS 3.3.8 是個(gè)空間幾何運(yùn)算庫(kù)GDAL 的 OGR 模塊在編譯時(shí)可以鏈接它。如果只是做柵格讀寫的安裝不裝 GEOS 也能跑但一旦你后續(xù)要處理矢量相交、緩沖區(qū)這類操作缺少 GEOS 的 GDAL 會(huì)在運(yùn)行時(shí)直接報(bào)“GEOS support not enabled”。所以我在安裝時(shí)把 GEOS 也一并準(zhǔn)備好。VS2010 則是這一切的編譯基石它提供 nmake 程序維護(hù)工具、C 編譯器和 vcvarsall.bat 批處理。裝了 VS2010 但不裝 VC 組件后面編譯會(huì)報(bào)“找不到 cl.exe”這一點(diǎn)很容易被忽略。另一個(gè)需要提前決定的是走源碼編譯還是 MSI。源碼編譯需要 VS2010 和 swig適合想了解 GDAL 架構(gòu)的人MSI 裝起來快但沒法看到中間產(chǎn)物。我這次是兩條都走了所以后續(xù)章節(jié)會(huì)分別講。提前決定路線能幫你明確安裝順序避免裝到一半才想起來缺工具。我把這組版本整理成一張表你對(duì)著匹配能省掉很多后續(xù)的“找不到頭文件”問題組件推薦版本作用注意事項(xiàng)操作系統(tǒng)Win7 64 位目標(biāo)平臺(tái)命令提示符要用 x64 兼容版否則環(huán)境變量不完整Visual Studio2010編譯工具鏈必須包含 VC 組件提供 nmake 和 cl.exeGDAL1.9.2核心地理數(shù)據(jù)抽象庫(kù)可選 1.11.0但 1.9.2 踩坑資料更多GEOS3.3.8空間幾何運(yùn)算庫(kù)編譯 GDAL 時(shí)可選依賴建議安裝Python2.7腳本環(huán)境注意是 32 位還是 64 位需與 GDAL DLL 位數(shù)一致SWIG2.10.0生成 Python 包裝代碼源碼編譯路線必需MSI 路線不需要這里要特別說一句 Python 位數(shù)的問題。Win7 64 位系統(tǒng)可以裝 32 位或 64 位的 Python 2.7而我最終用的是 32 位版本因?yàn)?GDAL 1.9.2 在 Win7 上常見的預(yù)編譯 DLL 是 32 位。如果你裝了 64 位 Python而手頭只有 32 位 gdal192.dllimport 時(shí)照樣報(bào)“找不到指定的模塊”。所以選版本時(shí)把 Python 位數(shù)和 GDAL 的位數(shù)保持一致比糾結(jié) GDAL 大版本更關(guān)鍵。2.2 用對(duì)命令提示符為什么普通 cmd 跑不了 nmake普通 cmd 窗口里沒有 nmake、cl.exe 這些編譯工具的環(huán)境變量。nmake 是 VS 自帶的程序維護(hù)工具它從 makefile.vc 里讀取編譯規(guī)則而 makefile.vc 里寫死了要調(diào)用 cl.exe 以及一堆 include/lib 路徑。這些路徑只有在執(zhí)行過 vcvarsall.bat 之后才會(huì)被設(shè)置到當(dāng)前會(huì)話中。VS2010 的“Visual Studio x64 兼容工具命令提示符”就是預(yù)先調(diào)好 vcvarsall.bat 并讓它以 x64 目標(biāo)架構(gòu)配置環(huán)境變量的一個(gè)快捷方式。我試過在普通 cmd 里手動(dòng) cd 到 VC 目錄運(yùn)行vcvarsall.bat x64偶爾能生效但一旦目錄帶空格或路徑有特殊字符就會(huì)出錯(cuò)而快捷方式不存在這個(gè)問題。正確的打開方式是點(diǎn)“開始 → 所有程序 → Microsoft Visual Studio 2010 → Visual Studio Tools → Visual Studio x64 兼容工具命令提示符”然后右鍵選擇“以管理員身份運(yùn)行”。為什么要管理員權(quán)限因?yàn)楹罄m(xù) nmake 會(huì)把生成的文件寫到 swig 目錄下有些目錄權(quán)限不夠會(huì)拒絕寫而且 Python 的 setup.py install 要往 C:\Program Files (x86)\Python27\Lib\site-packages 里寫 .py 和 .pyd 文件非管理員會(huì)報(bào)權(quán)限錯(cuò)誤。打開后先把目錄切換到 GDAL 源碼的 swig 子目錄假設(shè)解壓在 C:\OGC\GDAL192\gdal-1.9.2cd C:\OGC\GDAL192\gdal-1.9.2\swig然后驗(yàn)證環(huán)境是否就緒echo %VCINSTALLDIR%如果輸出了類似C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC的內(nèi)容說明編譯環(huán)境已經(jīng)有效若為空你需要重新用上面的快捷方式打開別繼續(xù)硬跑。除了快捷方式你還可以在普通 cmd 里執(zhí)行call C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat x64但路徑中的空格容易被轉(zhuǎn)義所以我不推薦。而且手動(dòng)調(diào)用無法獲得 VS 完整的內(nèi)部變量比如_VSPROMPT。用自帶快捷方式最穩(wěn)。2.3 配置 Path提前給 swig 和 gdal192.dll 找好家無論走源碼編譯還是 MSI 安裝最后系統(tǒng)都得能找到 swig.exe 和 gdal192.dll。Swig 是源碼編譯路線的外部工具下載 swigwin-2.10.0 解壓后把 swig.exe 所在目錄比如 C:\swigwin-2.10.0加入系統(tǒng)環(huán)境變量 Path。GDAL 的 bin 目錄在源碼編譯時(shí)是C:\OGC\GDAL192\gdal-1.9.2\bin在 MSI 安裝時(shí)是C:\Program Files\GDAL192或你自己指定的安裝路徑下的 bin。操作步驟是右擊“計(jì)算機(jī) → 屬性 → 高級(jí)系統(tǒng)設(shè)置 → 環(huán)境變量”在“系統(tǒng)變量”中找到 Path點(diǎn)“編輯”把這兩個(gè)目錄追加進(jìn)去用分號(hào)與原有項(xiàng)分隔。之所以要提前配是因?yàn)?Python 在 import gdal 時(shí)通過_gdal.pyd加載 gdal192.dllWindows 的 DLL 搜索順序包括應(yīng)用程序目錄、系統(tǒng)目錄、當(dāng)前目錄以及 Path 中列出的目錄。如果不加 bin就一定會(huì)出現(xiàn)“DLL load failed: 找不到指定的模塊”。這個(gè)錯(cuò)誤我在源碼編譯和 MSI 兩條路線里都遇到了屬于共性問題不如一開始就堵死。配置完記得把命令提示符窗口關(guān)閉重開讓新的 Path 在該會(huì)話中生效。你可以在新窗口里輸入where swig檢查 swig 是否被識(shí)別如果打印出完整路徑說明 Path 配置成功。環(huán)境變量修改后不僅命令行窗口要重開如果 Python 是直接從 IDLE 啟動(dòng)的IDLE 也要重啟否則在 IDLE 里運(yùn)行 import gdal 仍然會(huì)報(bào)同樣的 DLL 錯(cuò)誤。這個(gè)細(xì)節(jié)我差點(diǎn)漏掉。另外如果你還裝了 Python 的第三方 IDE它們同樣會(huì)緩存環(huán)境變量最好全部重啟一遍。3. 源碼編譯路線nmake 生成綁定、setup.py 安裝與三處必踩的坑3.1 生成 Python 包裝nmake /f makefile.vc python 和 swig 的依賴源碼編譯路線的第一步是在 swig 目錄下執(zhí)行 nmake讓 makefile.vc 幫你生成 Python 包裝代碼。在 x64 兼容工具命令提示符中先確保當(dāng)前目錄是C:\OGC\GDAL192\gdal-1.9.2\swig然后輸入nmake /f makefile.vc python這條命令的行為是先更新 setup.ini 寫入 GDAL 的安裝路徑然后 cd 到 python 子目錄調(diào)用 swig.exe 去解析 gdal 的 .i 接口定義文件生成gdal_wrap.c和osgeo/gdal.py等一整套包裝產(chǎn)物。/f參數(shù)指定 makefile 文件名因?yàn)槟J(rèn)文件名是 makefile而 GDAL 把 Windows 專用的規(guī)則放在 makefile.vc 里所以必須顯式指定。我第一次跑這條命令時(shí)卡在了swig.exe 不是內(nèi)部或外部命令。這就是因?yàn)闄C(jī)器上根本沒裝 SWIG。SWIG 是一個(gè)獨(dú)立的代碼生成工具GDAL 的源碼里只有接口文件并不附帶 swig.exe。解決辦法是下載 swigwin-2.10.0這個(gè)版本在 Python 2.7 時(shí)代是穩(wěn)定選擇。解壓后把 swig.exe 所在的整個(gè)目錄加進(jìn) Path具體方法見 2.3。配置完成后重新打開命令提示符先where swig確認(rèn)能找到再重新執(zhí)行 nmake 命令。這次 nmake 會(huì)在 python 子目錄下生成一堆 .c 和 .py 文件如果沒有任何 fatal error說明包裝代碼生成成功。我建議你在執(zhí)行后查看一下swig/python/osgeo/目錄正常情況下里面會(huì)有_gdal.pyd的骨架文件注意此時(shí)還沒編譯成真正的擴(kuò)展還有g(shù)dal.py、ogr.py等純 Python 包裝層文件。nmake 只負(fù)責(zé)從接口文件生成 C 源碼真正的 .pyd 要靠接下來的 setup.py 編譯。3.2 編譯擴(kuò)展模塊setup.py build 與 Vcvarsall.bat 的經(jīng)典錯(cuò)誤包裝代碼生成完畢就要在swig/python目錄下編譯 Python 擴(kuò)展。先進(jìn)入該目錄cd C:\OGC\GDAL192\gdal-1.9.2\swig\python然后運(yùn)行python setup.py build python setup.py installsetup.py build的作用是調(diào)用 distutils把上一步生成的 .c 文件編譯成_gdal.pyd然后復(fù)制到build\lib.win32-2.7這樣一個(gè)臨時(shí)目錄。setup.py install則把生成的模塊和一堆 .py 文件安裝到 Python 的 site-packages 目錄里也就是C:\Program Files (x86)\Python27\Lib\site-packages\osgeo。這里幾乎所有人都會(huì)遇到unable to find Vcvarsall.bat報(bào)錯(cuò)。原因在于 Python 2.7 的 distutils 默認(rèn)去尋找 VS2008VC9的編譯環(huán)境因?yàn)?CPython 2.7 官方是用 VS2008 編譯的。而我機(jī)器上裝的是 VS2010VC10distutils 在注冊(cè)表里找不到 VS2008 對(duì)應(yīng)的 Vcvarsall.bat就直接罷工。網(wǎng)上有好幾種解法有人用 mingw我試了因?yàn)?GDAL 的 C 代碼里用了很多微軟特有的約定mingw 根本編不過果斷放棄。一個(gè)輕量級(jí)的簡(jiǎn)單方案是設(shè)置環(huán)境變量把 VS2010 的路徑指給 VS90COMNTOOLSset VS90COMNTOOLS%VS100COMNTOOLS%VS100COMNTOOLS是 VS2010 安裝時(shí)自動(dòng)設(shè)置的系統(tǒng)環(huán)境變量指向其工具目錄比如C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\。distutils 在找不到 VS2008 時(shí)會(huì)檢查VS90COMNTOOLS我們用這條命令把 VS2010 的工具路徑“偽裝”成 VS2008 的它就能找到 Vcvarsall.bat 了。這個(gè) set 命令只對(duì)當(dāng)前命令行窗口有效所以必須和隨后的 build/install 命令在同一個(gè)窗口里執(zhí)行。執(zhí)行 setup.py build 時(shí)控制臺(tái)會(huì)刷出大量的編譯信息其中夾著一些 warning比如宏重定義、符號(hào)截?cái)噙@些通常不影響最終結(jié)果。關(guān)鍵是看最后有沒有出現(xiàn)error C...或fatal error LNK...。我這次編譯打印了幾十條 warning嚇得我以為失敗后來發(fā)現(xiàn) install 正常import 也能用才知道那些 warning 是 GDAL 源碼里早就存在的跟我們的環(huán)境無關(guān)。所以看到 warning 別慌只要沒有硬錯(cuò)誤就可以繼續(xù)。另外如果 setup.py build 過程中報(bào)找不到 Python.h說明 Python 的 include 目錄沒設(shè)置到位。雖然 distutils 會(huì)自行定位但有時(shí) GDAL 的 makefile.vc 會(huì)在編譯選項(xiàng)中覆蓋 include 路徑此時(shí)需要手動(dòng)指定環(huán)境變量PYTHON_INCLUDE_DIR和PYTHON_LIBRARY。不過 1.9.2 的默認(rèn)配置里一般不會(huì)出這個(gè)問題我在多次嘗試中只在 1.11.0 上遇到過。3.3 install 后 import 報(bào)錯(cuò)DLL 搜索路徑與 bin 目錄的真相setup.py install 成功后在命令提示符里測(cè)試導(dǎo)入python -c import gdal如果看到ImportError: DLL load failed: 找不到指定的模塊這并不代表編譯失敗而是 Python 在導(dǎo)入osgeo._gdal時(shí)找不到 gdal192.dll。_gdal.pyd是一個(gè)動(dòng)態(tài)鏈接庫(kù)它內(nèi)部鏈接了gdal192.dll。Windows 在加載_gdal.pyd時(shí)會(huì)按 DLL 搜索順序去找gdal192.dll而默認(rèn)順序里并不包含 GDAL 編譯產(chǎn)物的 bin 目錄。解決方法是把 bin 目錄加進(jìn) Path。源碼編譯產(chǎn)物的 bin 目錄是C:\OGC\GDAL192\gdal-1.9.2\bin里面有 gdal192.dll、gdalinfo.exe 等一系列可執(zhí)行文件和動(dòng)態(tài)庫(kù)。把它加到系統(tǒng) Path 后重新打開命令行窗口再測(cè)試python -c import gdal這次會(huì)順利通過。如果你用的是 IDLE 或 Spyder配置完 Path 后必須重啟這些編輯器因?yàn)樗鼈儠?huì)緩存環(huán)境變量。我一度在 IDLE 里反復(fù) import 失敗卻在 cmd 里成功就是這個(gè)緩存原因。4. MSI 快速路線下載匹配版本、直接安裝、補(bǔ)一條 Path4.1 下載官方 MSI版本匹配 Python 2.7 和 Windows 位數(shù)的關(guān)鍵如果你不想碰編譯官方提供的 MSI 安裝包就是最省事的路。GDAL 官方有 Windows 預(yù)編譯的 MSI其中包含了 gdal192.dll、命令行工具和 Python 綁定。下載時(shí)要注意兩個(gè)匹配一是 MSI 的版本要對(duì)應(yīng) GDAL 1.9.2或你想要的 1.11.0二是 MSI 的位數(shù)要能與你的 Python 版本匹配。因?yàn)?Python 2.7 在 Win7 64 位下通常裝的是 32 位版本所以你要找標(biāo)記為win32的 MSI而不是amd64。如果裝錯(cuò)安裝過程可能正常但 import gdal 時(shí)一樣會(huì)報(bào) DLL 加載失敗因?yàn)閿U(kuò)展模塊的位數(shù)和 Python 解釋器的位數(shù)不一致。雙擊 MSI 后會(huì)進(jìn)入標(biāo)準(zhǔn)的安裝向?qū)?。我一般選擇默認(rèn)安裝路徑也就是C:\Program Files\GDAL192這個(gè)路徑后面還要用到。安裝向?qū)Ю锶绻霈F(xiàn)“Python bindings”或“osgeo”之類的選項(xiàng)一定要確保它是啟用的。有些精簡(jiǎn)版 MSI 會(huì)默認(rèn)取消 Python 綁定那樣裝完只有核心庫(kù)Python 里并沒有 osgeo 模塊。如果你不確定可以在安裝后打開C:\Program Files\GDAL192\python目錄里面至少要有 osgeo 文件夾才算正常。4.2 安裝順序與權(quán)限先裝 Python 2.7再裝 MSI用管理員安裝MSI 安裝有一個(gè)容易被忽略的依賴順序必須先把 Python 2.7 裝好再執(zhí)行 GDAL 的 MSI。因?yàn)?MSI 里的 Python 綁定是通過掃描注冊(cè)表里的 Python 安裝信息來定位 site-packages 的如果 Python 還沒裝綁定組件就會(huì)靜默跳過。我見過有人先裝 GDAL 后裝 Python結(jié)果 GDAL 提示安裝成功可 Python 里什么都沒有只能重裝。另外MSI 安裝到C:\Program Files需要管理員權(quán)限如果你的系統(tǒng)開啟了 UAC雙擊安裝時(shí)一定要右鍵“以管理員身份運(yùn)行”否則可能在最后寫入注冊(cè)表時(shí)失敗。安裝完成后我會(huì)第一時(shí)間檢查C:\Program Files (x86)\Python27\Lib\site-packages\osgeo這個(gè)目錄是否存在。如果存在且里面有g(shù)dal.py、_gdal.pyd說明綁定已經(jīng)裝好。如果只有g(shù)dal.py而沒有_gdal.pyd說明 MSI 沒識(shí)別到 Python 的擴(kuò)展模塊多半是 Python 安裝的是 64 位而你下載了 32 位 MSI或者反過來。4.3 安裝后檢查Path 修正與 DLL 搜索順序MSI 安裝完成后打開命令行窗口輸入python -c from osgeo import gdal; print(gdal.VersionInfo())如果打印出一串版本號(hào)比如1910說明安裝成功。如果出現(xiàn)ImportError: DLL load failed: 找不到指定的模塊多半還是 Path 里沒有 gdal192.dll 的目錄。MSI 默認(rèn)把 gdal192.dll 放在C:\Program Files\GDAL192你需要把這個(gè)目錄加到系統(tǒng) Path。另外MSI 安裝的 Python 模塊在C:\Program Files (x86)\Python27\Lib\site-packages\osgeo如果這里沒有生成可能 MSI 在安裝時(shí)沒能判斷出 Python 安裝位置。這時(shí)可以手動(dòng)把C:\Program Files\GDAL192\python\osgeo復(fù)制到 site-packages 下或者重新安裝 MSI 并確保 Python 2.7 已預(yù)先安裝。即使 MSI 安裝時(shí)勾選了“Add GDAL to PATH”我也建議用where gdal192.dll再確認(rèn)一次。因?yàn)橛行┌姹镜?MSI 只把gdalinfo.exe所在的 bin 目錄加入 Path卻漏掉了gdal192.dll本身的目錄兩者雖然通常在同一目錄但偶爾有例外。執(zhí)行where gdal192.dll如果輸出C:\Program Files\GDAL192\gdal192.dll說明系統(tǒng)能找到如果提示找不到就手動(dòng)補(bǔ)路徑。4.4 源碼編譯 vs MSI我為什么兩條都留下來了我在這次安裝中把兩條路線都跑了一遍不是為了湊字?jǐn)?shù)而是它們?cè)诤罄m(xù)維護(hù)中有不同的價(jià)值。源碼編譯雖然前置條件多但你能拿到全套中間文件比如 gdalinfo.exe 可以直接在命令行用而且當(dāng)你需要改動(dòng) GDAL 的源碼做二次開發(fā)時(shí)一切都在手邊。MSI 安裝快適合只想要一個(gè)能用的 Python 包、不愿意折騰編譯的人。我把兩者的差異列成一張表你根據(jù)自己的能力邊界做選擇對(duì)比項(xiàng)源碼編譯MSI 安裝編譯耗時(shí)5-10 分鐘2 分鐘環(huán)境要求VS2010、SWIG、GEOS只需要 Python 2.7踩坑數(shù)量多但資料全少但資料零散可控性可改源碼、可調(diào)編譯參數(shù)黑盒只能裝固定版本適合人群C 基礎(chǔ)好、要做二次開發(fā)用 Python 做批處理、快速上手就我個(gè)人的習(xí)慣遇到新機(jī)器我會(huì)先用 MSI 裝一個(gè)能用的環(huán)境確認(rèn)項(xiàng)目能跑如果后面要深入 GDAL 源碼或者定制插件再回頭用源碼編譯把中間產(chǎn)物保留下來。兩條路線共享一份環(huán)境變量配置所以第一遍把 Path 弄好第二遍會(huì)順很多。另外MSI 安裝后osgeo目錄里的_gdal.pyd和gdal192.dll位置可能不同有時(shí)候 DLL 在 Program Files\GDAL192而 pyd 在 site-packages\osgeo。Python 導(dǎo)入 pyd 后pyd 會(huì)去找 DLL如果找不到就會(huì)報(bào)錯(cuò)。所以即便 MSI 安裝時(shí)添加了 Path也最好用where gdal192.dll檢查一下。5. 安裝避坑指南四個(gè)報(bào)錯(cuò)現(xiàn)場(chǎng)的原因與修復(fù)步驟5.1 swig.exe 不是內(nèi)部或外部命令現(xiàn)象執(zhí)行nmake /f makefile.vc python時(shí)控制臺(tái)提示“swig.exe 不是內(nèi)部或外部命令也不是可運(yùn)行的程序或批處理文件”nmake 立即停止。原因系統(tǒng)沒有安裝 SWIG或者安裝后沒把 swig.exe 所在目錄加入環(huán)境變量 Path。GDAL 源碼只提供接口文件swig 是獨(dú)立的生成器需要額外下載。解決下載 swigwin-2.10.0解壓到一個(gè)無空格路徑如 C:\swigwin-2.10.0。將C:\swigwin-2.10.0添加到系統(tǒng) Path。重新打開命令提示符先where swig確認(rèn)識(shí)別成功再重跑 nmake。5.2 unable to find Vcvarsall.bat現(xiàn)象執(zhí)行python setup.py build時(shí)distutils 報(bào) “error: Unable to find vcvarsall.bat”編譯直接終止。原因Python 2.7 的 distutils 默認(rèn)按照 VS2008 編譯的 CPython 來找編譯器。機(jī)器上裝的是 VS2010注冊(cè)表里沒有 VS2008 的 Vcvarsall.bat 路徑導(dǎo)致 distutils 放棄查找。解決用命令set VS90COMNTOOLS%VS100COMNTOOLS%把 VS2010 的工具路徑偽裝成 VS2008 的。設(shè)置后在同一窗口中重新執(zhí)行python setup.py build和python setup.py install。注意這個(gè) set 只對(duì)當(dāng)前窗口有效所以每一步都要在同一個(gè)窗口里連貫執(zhí)行。5.3 ImportError: DLL load failed: 找不到指定的模塊現(xiàn)象安裝完成后import gdal或from osgeo import gdal報(bào)“ImportError: DLL load failed: 找不到指定的模塊”。這個(gè)問題在源碼編譯和 MSI 方案中都出現(xiàn)過。原因Python 導(dǎo)入_gdal.pyd時(shí)系統(tǒng)搜索不到它依賴的gdal192.dll。這只說明 DLL 搜索路徑不完整與 Python 代碼本身無關(guān)。解決把 GDAL 的 bin 目錄加入系統(tǒng) Path。源碼編譯時(shí)是C:\OGC\GDAL192\gdal-1.9.2\binMSI 安裝時(shí)是C:\Program Files\GDAL192。加完 Path 后找出你自己使用的環(huán)境如果是命令行就重開窗口如果是 IDLE 就重啟 IDLE再試導(dǎo)入。5.4 編譯期間 error C1083: 找不到 gdal_version.h 或 gdal.h現(xiàn)象setup.py build 時(shí)輸出類似fatal error C1083: 無法打開包括文件: gdal.h: No such file or directory編譯停止。原因GDAL 的源碼中Python 綁定的編譯需要依賴核心庫(kù)的頭文件。如果 makefile.vc 里的 include 路徑?jīng)]有指向 gdal 源碼的gcore和port目錄就會(huì)找不到頭文件。常見于路徑中含空格、或者解壓目錄不是預(yù)期路徑的情況。解決確認(rèn) GDAL 源碼解壓路徑中沒有空格推薦直接放 C:\OGC\GDAL192\。然后檢查 swig\python 目錄下的 setup.py 是否有寫死相對(duì)路徑的選項(xiàng)必要時(shí)在編譯前設(shè)置環(huán)境變量GDAL_INCLUDEC:\OGC\GDAL192\gdal-1.9.2\gcore。這個(gè)坑在默認(rèn)官方源碼包中較少出現(xiàn)但我在精簡(jiǎn)版源碼包里踩到過。6. 裝完怎么驗(yàn)證先跑 gdalinfo再寫三行 Python 讀柵格6.1 用 gdalinfo 命令行工具驗(yàn)證核心庫(kù)裝完 GDAL 后第一件事不是急著寫 Python而是先跑命令行工具。打開任意命令提示符現(xiàn)在普通 cmd 也可以了因?yàn)榄h(huán)境變量已經(jīng)配好輸入gdalinfo --version如果輸出類似GDAL 1.9.2, released 2012/10/08的版本信息說明核心庫(kù)和命令行工具都能工作。再拿一個(gè)真實(shí)的 TIFF 文件試試gdalinfo C:\your\path\test.tif在輸出里能看到影像尺寸、波段數(shù)、投影坐標(biāo)、地理范圍等元數(shù)據(jù)。如果命令找不到 gdalinfo說明 GDAL 的 bin 目錄不在 Path 中回到 2.3 補(bǔ)一遍。6.2 用 Python 讀取柵格元數(shù)據(jù)和第一個(gè)波段命令行工具正常后再驗(yàn)證 Python 綁定。寫一個(gè)十幾行的腳本from osgeo import gdal import sys # 打開柵格文件 ds gdal.Open(rC:\your\path\test.tif) if ds is None: sys.exit(無法打開文件檢查路徑和GDAL安裝) # 讀取元數(shù)據(jù) print(尺寸: {}x{}.format(ds.RasterXSize, ds.RasterYSize)) print(波段數(shù): {}.format(ds.RasterCount)) # 讀取第一個(gè)波段的數(shù)據(jù) band1 ds.GetRasterBand(1) arr band1.ReadAsArray() print(第一個(gè)波段數(shù)組形狀:, arr.shape) print(數(shù)組最大值:, arr.max())gdal.Open返回一個(gè) Dataset 對(duì)象RasterXSize和RasterYSize分別代表列數(shù)和行數(shù)。GetRasterBand(1)取得第一個(gè)波段ReadAsArray()把柵格數(shù)據(jù)讀成 NumPy 二維數(shù)組方便做統(tǒng)計(jì)和裁剪。如果這一步有輸出說明 Python 已經(jīng)成功調(diào)起底層 GDAL DLL。6.3 一個(gè)常用技巧用from osgeo import gdal不要寫import gdal很多舊教程會(huì)讓你直接import gdal但在 GDAL 1.9.2 的 Python 綁定里這個(gè)寫法會(huì)觸發(fā) deprecation_warn。更規(guī)范的是from osgeo import gdal它直接進(jìn)入真正的綁定模塊不經(jīng)過兼容層。我一開始用import gdal也跑通了但總會(huì)在控制臺(tái)看到一個(gè) FutureWarning后來改成from osgeo import gdal后干凈很多。這也算是一個(gè)容易被忽略的小細(xì)節(jié)。從那以后我每次在新機(jī)器上裝 GDAL都會(huì)強(qiáng)制走一遍 gdalinfo --version 和這個(gè)十幾行的讀柵格腳本確認(rèn)環(huán)境和數(shù)據(jù)鏈路都通了才敢繼續(xù)寫業(yè)務(wù)代碼。希望這個(gè)習(xí)慣也幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美久久九九| 天天综合天综合久久网| 婷婷激情欧美| 精品99在线| 色欲色香综合网| 天天射射夜| 五月色婷丁香| 九九在线视频| 五月婷婷基地| 日本色爽| 婷婷五月色网| 大香蕉久久伊人婷婷五月丁香| 99re最新地址视频| 婷婷五月开心六月AV| 五月婷婷五月天| 色婷婷狠狠| 亚洲视频一区| 日韩999| 丁香婷婷五色月| 毛v一区二区视频| 五月婷婷婷丁香播| 婷婷丁香五月综合网上| 99热日本| 好吊操这里只有精品| 免费碰碰视频久| 九九九热精品| 欧美日韩aaa| 综合亚洲六月婷婷在线| 国产ava| 性av| 亚洲乱码日产精品BD| 丁香五月在线观看| 天天操天天操天天操天天操天天操天天操| 天天人人天天爽| 日日操无码| 另类天堂| 丁香色婷婷五月天| 久机视频这只有精品| 操一操| 丁香婷婷五月天网站| 超碰在线个人观看| 一区=区操屄高清大全av| 人妻人人操| 丁香五月婷婷基地| 丁香五月婷婷五月天| 久久er99热精品一区二区| 看片视频在线免费日产在线看| 99er免费在线观看| 久久婷婷色丁香| 人妻AV在线| 色涩影院六月丁香| 一区二区乱码视频| 亚洲最大在线| 亚洲五月丁香综合网| h亚洲| 五月天堂六月丁香亚州中文字幕久久| 99热www| 欧美S码亚洲码精品M码| 免费做A爰片77777| 日本黄色三级片内射| 五月婷婷五月天| 色婷婷狠狠18| 亚洲碰碰碰| 日本社区五月天激情| 精品综合五月| 一本色道久久综合狠狠躁小说| AV天堂婷婷五月天| 五月天六月色| 五月婷婷色影院| 婷婷五月天天爽| 久久免费婷婷视频| 激情五月色婷婷| 天天久| 色色色色色色色色网站| 色欲五月婷婷| 丁香五月天啪啪| 思思热这里只有精品| 婷婷桃色网| 五月丁香六月在线| 五月停性愛| 99原创自拍视频在线观看| 亚洲精品无人区| 国产乱妇乱子在线播视频播放网站 | 在线成人网站| 天天日夜夜草进麻麻的子宫| 99思思| 色婷婷社区| 逼里香不卡| 五月婷婷六月丁香五月| 九九综合色| 亚洲天堂久久| 国精产品一区二区三区| 六月丁香激情综合网| AV美美午夜| 91啪级电影| 亚洲丁香五月| 99啪啪视频| 乱精品一区字幕二区| 又大又粗九一在线| 任我肏| 婷婷五月丁香基地在线视频官网| www,五月天激情| 开心婷婷五月天激情网| 免费黄色片子| 99精品超在线播放| 国产又黄又爽又激情不遮挡视频在线观看 | av中文在线| 久久综合激情五月天| 五月天伊人日日噜影片AV| 激情五月天伊人影院| 色综合天天| 开心五月激情网| CHINESE熟女老女人HD视频| 疯狂做受XXXX高潮A片| 婷婷五月综合社区在线| 五月天激情小说| 无码免费人妻A片AAA毛片西瓜| 精品一二三区久久AAA片| 色99视频| www,色婷婷| 99'无码| 99re鈥哸鈥唙| 刘玥av在线| 久久久久久久8| 久久婷婷六月天| 99re8在这里只有精品| 色色色色色网| 久久久91| 六月色播| www.九月婷婷丁香.com| 五月丁香好婷婷A片网| 亚洲激情网| 99日在线视频| 丁香伊人五月色婷婷五十路| www.五月天婷婷姐姐| 97干婷婷| 日韩超碰在线| 五月婷婷综合网| 欧美成人AAA片一区国产精品 | 欧美色图天堂网色| 欧美婷婷精品激情| 97碰碰草| 激情网五月婷婷| 色婷婷狠狠| 九月大香蕉| 色色色综合| www.久久色.com| 天天噜天天爱| 五月天开心色情网| 丁香六月啪啪啪| 免费视频这里只有精品| 久久九九99视频| 欧美黑人大吊| 这里有精品| 好色婷婷| 色婷婷AAA| 五月天丁香综合在线| 艹| 色色亚洲| 77799热| 亚洲成人免费在线| 久久婷婷五月天激情四射| 99aese| 九九激情网| 91色碰| 婷婷五月丁香综合人妻| 无码AV大香线蕉伊人| 丁香六月狠狠| 内射人妻视频国内| 天天综合天综合| 江苏少妇性BBB搡BBB爽爽爽| 国色天香伊人狠狠色| 欧美性生交A片免费看| 久久老码第一| 亚洲12p| 日本ww亚洲| 色五月婷婷中文字幕| 丁香五月婷婷黑人妻黄色电影院| 99色婷婷| www久| 九色91视频| 97视频久久| 婷婷色情网| 99riAv1国产在线观看| 99精品国产在热久久婷婷| 日本一毛片| 五月丁香操婷逼| 亚洲色网址| 97人人草| 伊人九九68| 丁香网五月天激情| 99视频九九热| 午夜天堂一区人妻| 丁香五月播播| 久99热| 六月丁香婷| 伊人激情| 26uuu色五月| 久久婷婷五月综合伊人| 激情性爱五月天| 五月丁香综合在线| 天天色,天天日,天天做| 亚洲中文丁香| 99九精品| 成人中文网| 99精品福利视频| 亚洲婷婷基地| 另类五月激情| 婷婷九月色| 婷婷五月丁香六月伊人网| 夜夜夜天天操| 天天日日| 天天操天天干天天日| 亚洲激情五月婷婷日日| 99视频35精品视频在线观看| 国产在线网| 日本久久爱| AV动漫不卡无码免费| 亚洲综合五月天| 99视频这里只有久久精品| 久久全色| 99精彩视频| 色婷婷丁香五月天| 在线91日韩| 美女五月天| 五月婷六月丁| 成人精品一区二区三区四区五区 | 久久香蕉丁香| 欧美激情五月| 91丨熟女丨首页| 色综合久久久综合久久网| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 中文字幕高清av| 丁香五月欧美激情| 五月天亭亭俺也| 二人电影免费版在线观看| 久久婷五月影院| 九月色婷婷综合| 99re久久| 丁香五月先锋| 人人超碰99| 五月婷婷激情| 五月开心激情| 久久99操| 激情五月天色婷婷综合| 在线日韩av| 亚洲色色色| 色婷婷国产精品综合在线观看| 五月婷婷欲色| 色久免费| 这里只有精品在线播放| 久久99久久99精品免视看婷婷| 亚洲精品无码久久| 粉嫩av蜜桃av蜜臀av| 大香蕉在线观看9| 天天做天天爱| 最近中文字幕大全免费版在线| 91视频一起草| 武则天精品久久| 99热这里只有精品最新地址获取| 狠狠草综合网| www.99成人视频| 99热99精品在线观看| 色五月xxx| 日本一毛片| 亚洲AV另类| 色色六月| 4399精品一区二区| 青吴乐视频| 日日干天天| 裸体美女丁香五月天。| 桃色五月天| 亚洲天堂AV免费片| 电影爱拉战争免费观看| 天天日夜夜草进麻麻的子宫| 新激情五月天色播| 日韩啪图| 538任你爽视频不一样的| 成人va在线| 婷婷色色网站| 久久天堂婷婷五月| 婷婷97碰碰| 大香蕉伊人99| 色色99色色| 国产韩日亚洲美州欧亚综合在线| ss五月天激情| 五月激情婷婷开心| 99只有精品| 开心五月天激情网| 九九色热| 婷婷99视频在线| 五月天婷婷婷| 五月婷婷综合性爱噜噜| 99久久精| 欧美成人精品一区二区| 五月婷婷偷拍| 国精产品一区一区三区免费视频| 99热在线网站| 激情五月深爱五月观看| 色婷婷手机在线| 丁香五月 激情文学| 色婷在线视频| 九九国产视频| 五月丁香中文字幕| 成功精品影院| 墨西哥毛片内射精| 天搞天天天天天| 狠狠操天天日| 久久婷婷色色| 精品99*| 激情五月婷婷丁香| 伊人在线视频| AV免费在线网站| 欧美色图天堂网色| 久久九九99字幕| 欧美丁香婷婷天天操| 亚洲精久久| 五月婷婷综合在线视频| 国内精品免费一区二区2009| 91婷婷丁香| 色婷婷六月开心中文字| 亚洲丁香五月天在线视频| 激情无码五月天| 婷婷色五月噜噜| 青青操绿aaa一区日v| VA五月激情在线| 久久久久久久久久久久久久人妻视频| 日本五月丁香| 日日干天天爽| 亚洲成人综合在线| 中文字幕欧美日韩VA免费视频| 天天噜| 日韩精品一区二区亚洲AV观看| 97碰碰在线观看视频| 狠狠爱婷婷爱| 嫩草AV久久伊人妇女超级A| 9久久精品| 国产成人片| 97人人操人人插| 色色影院黄大片| 激情婷婷九月| 六月亚洲婷婷6月中文字幕| 99热网站在线观看| 亚洲丁香五月天视频| 9l视频自拍九色9l视频自拍九色9l社区| 亚洲操逼网| 欧美激情性做爰免费视频| 婷五月天影院| 丁香五月欧美成人| 亚洲婷婷成人五月天| 五月六月丁香激情| 久久五月视频| 婷婷五月激情五月丁香五月| 五月天丁香六月综合| 五月天色综合服务平台| 激情五月天网站| 亚州操人在线视频| 国产成人精品一区二三区熟女在线| 色播jjjj| 五月色在线| 99在线看片| 精品丁香五月天在线播放| 99精品综合视频| www.夜夜操.com| 婷婷五月天丁香综合网| 五月婷成人| 我要看激情五月天| www五月| 久久3级片| 婷婷五月丁香综合| 九九爱激情| 亚洲第一第二网站| www.久久9| 99日本黄站| 色 五月婷婷基地| 五月天激情亚洲| www夜夜| 色综啪啪网| 人妻激情在线| 美女丁香五婷婷| 六月激情婷婷| 久久色五月| WWW.99热| 99热在线观看| 婷婷97| 日韩1区2区| 色久综合| 天天狠天天狠| 五月婷婷在线观看黄| 国产乱子轮XXX农村| 91玖玖| 思思热国产| 色色五月丁香| 国产成人网址| 91丨九色丨熟女|新版| 丁香五月天天高清在线| 日韩色色视频| 99综合久久| 色婷婷久久综合中文久久一本 | 午夜69成人做爰视频| 日韩av在线免费观看| 久久五月婷天天干| 成人国产欧美大片一区| 色爱99| 免费黄色视频网址| 超碰人人操在线| 五月丁香免费看| www,黄色在线,con| 99热首页在线30| 九九热精品| 色色色婷| 色欧美影院| 丁香色婷婷色手机免费在线| 激情久久天天| 91热爆在线| 亚洲精品国产setv| 日本久久99| www99精品在线观看| 五月视频日本免费观看| 婷婷五月激情综合| 五月丁香婷色| 亚洲无AV在线中文字幕| 亚洲综合干| 婷婷99狠狠躁天天躁| 亚洲精品视频在线| 日狠狠| 日日噜噜夜夜狠狠久久丁香六月| 日本一道久久| 成人五月天婷婷| 91ncom.色| 色五月偷偷| 婷婷色片| 一区二区成人电影| 五月婷激情| 99er日韩| 色九九综合| 香蕉久久国产AV一区二区| 99久在线精品| 久久综合干| 一本色道久久综合狠狠躁小说| 亚洲四色五月| 色情丁香五月婷婷精品| 九九热色视频| 大香蕉婷婷色| 久鲁鲁色网| 日日干日日| 很操日本7| 99精品丁香五月| 开心五月天激情网站| 1024在线视频| 亚洲精品国产setv| 蜘蛛女免费观看完整版高清电影| 97五月婷| 五月久久婷婷天堂视频| WWW.天天日| 草草视频91| 秋霞电影一级黄| 欧美性爱五月天| 激情深爱婷婷网| 丁香婷婷五月| 亚洲色a| 99操网站| 九九色图| 在线五月婷婷小电影| 国产精品色色| www.五月.com| 色视频2025| 激情5月婷婷| 五月天婷婷久久| 亚洲小视频免费播放| 免费看欧美成人A片无码| 五月天无码视屏播放| 五月婷婷先锋| 婷婷五月天久久| 狠狠操.COM| 久久99久久久久久久噜噜| 五月天成人在线视频网站| 久热伊人9| 色五月播五月| 五月色综合网| 天天草人人摸| 狠干综合| 九九热最新地址| 欧美丁香五月天| 国产亚洲99久久| 九九这里有精品| 五月丁香久久丝袜啪啪| 久热超碰| 丁香五月最新网址| www久视频com| 久久女人天堂| 2015在线中文字幕| 99久久久久| 少妇人妻凹凸视频| 草综合网| 大香蕉人人人| 五月婷婷很很色| 五月伊人网| 五月丁香五月天现场视频| 中文字幕成人日韩| 狠狠综合网| 婷婷五月天成人网站| 丁香色五月直播| 一本狠婷婷综合| 日本狠狠色| 99精品视频网站| 国产综合视频婷婷| 丁香五月婷婷激情四射深爱激情| www.久热| 亚洲在线综合| 久久九九热视频| 激情丁香淫荡婷婷| 丁香五月在线人妻| 五月婷啪啪| 岛国AAAV| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 思思热天天看| 美女久久婷婷| 激情六月天| 欧洲亚洲免费视频9 | 内射人妻视频国内| 色综合久久88色综合天天看| 午夜色丁香| 激情五月丁香色婷婷| 狠狠色丁香婷婷| 五月婷婷爽爽爽| 九九这里只有精品| 婷婷视频网| 久久久久人妻| 五月天激情久久| 综合色综合| 五月婷婷色男女| 激情五月天婷婷图| 国产激情综合五月久久| 五月激情综合网| 99性视频| 久久婷婷五月综合| 色综合久久久久| 亚洲成人五月天| 99碰碰视频| 狠狠干 狠狠操| 天天干夜夜b| 欧洲婷婷五月天| 天天激情5月天亚洲| 亚洲网视屏| 综合视频久久| 99福利导航| 干一干xxxx| 91视频综合网| 99啪啪网| 黄色成人网站在线播放| 久久婷婷啪啪视频| 丁香六月啪啪| 久久九九re热| 嫩草免费视频| 亚洲成人综合网在线免费观看| 91丨九色丨国产| 性无码专区无码| 2018国产大陆天天弄| 久久er99热精品一区二区| 日韩 中文 欧美| 91丨九色丨丰满人妖| 99精品久久久| 26uuu国产| 丁香五月大香蕉| 99国产精品久久久久久久久久久| 亚洲成人AV电影在线| 丁香五月婷婷色综合| 久久九九Com| 3DAV亚洲香蕉久久 一区二区| 久久久精品人妻| 狠狠狠狠狠狠| 99热这里只有精品13| 91精品国产综合久久密臀| 天天爽夜夜爽| 伊人色综合网| 99爱在线精品视频免费观看| 狠狠精品干练久久久无码中文字幕| 四川BBB搡BBB搡多人乱亂| 婷婷综合中文字幕| 91一道本| 色情五月天小说| 天天插天天很| 这里只有精品1| 久久久激情视频| 五夜丁香| 99这里有精品视频| 久久日本wwww色| 五月婷久久综合| 噜噜操操| www.狠狠干| 激情五月综合六月丁香婷婷狠狠干| WWW.桔色成人.COM| 97人人操| 国精产品一区一区三区免费视频| 婷婷伊人五月丁香天堂网| 色啪影院| 五月婷免费视频久久久| 99九九热视频| 七七九九色色| 天天干天天操天天拍| 久久人人看| 亚洲激情久久| AV在线不卡网站| 色播五月天婷婷老师| 久热这里只有精品性色AV| 六月丁香婷婷尤物| 丁香婷婷五月六月久久| 99婷婷精品推荐在线视频| 亚州成人综合在线| 五月天无码| 色婷婷五月天天天干天天操天天爽| 超碰猛烈的性猛交| 成人.在线日韩| 五月婷婷丁香五月| 人妻系列久久久久久久久久久| 五月丁香亚洲综合网| 人妻久久婷婷| 久久九九热re6这里有精品| 久久免费高| 九九热AV| 综合色播| 色婷婷在线电影| 久热 91| 米奇影视五月天| 婷婷六月色开| 激情av网| 九九热在线视频,| 久九色| 久久久网站| 超碰爱爱爱| 婷婷播播五月天| 中文字幕 码精品视频网站| 91在线视频观看午夜福利| www.久久| 超碰九九热| 婷婷五月综合视频免费播放| 风流少妇A片一区二区蜜桃 | 激情五月天福利| 狠狠88综合久久久久噜噜噜| 久久92| av婷婷丁香| 激情99。| 五月天激情图片| 97成人丁香| 99'无码| 色欲久久综合| 99精品97| 看片视频在线免费日产在线看| 黄色录像网点| 婷婷丁香五月天综合网| 99热精品无码| 激情久久网| 南京搡BBBB搡BBBB| 久久激情网| 五月久久网| 色综合激情| 色综久久久| 婷婷激情五月天亚洲综合| 亚洲综合成人网| 色婷婷久久天天性爱| www.婷婷五月| 欧美日本高清视频99| 亚洲精色| 国产XXXX搡XXXXX搡麻豆| 国产色网站| 激情六月天| 久久99三级在线视频| 999热在线视频| 黄色国久久| 99色色热| 欧美成人精品A片免费一区99| 综合色网站| 五月花综合视频| 久久久91精品| 婷婷色狠狠| 国外亚洲成AV人片在线观看| 6080av| 国产在线网| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 色婷婷狠狠| 婷婷丁香五月天婷婷| 婷婷五月天色| 狠狠香婷婷五月| 婷婷五月天网| 26UUU精品一区二区c〇m| 欧美成人精品A片免费一区99| 99爱在线| 婷婷五月丁香青青草在线| 99爱无码| 五月天啪啪网| 99小视频网站| 九九九AAA热视频| 天天操比比| 99噜噜| 国产无套精品一区二区| 天天爱天天做天天舔| 亚洲天堂热| 噜噜色五月| 五月丁香大相交| 香蕉综合在线| 野战毛片三一3| 婷婷色六月| 亚洲免费婷婷| 色五月激情综合网| 夜精品无码A片一区二区蜜桃| 人妻操在线看| 超碰不卡在线| 国产精品成人在线| 日韩ac不卡无码| 国产亚洲精品AAAAAAA片| 深爱婷婷色| 日韩 mm 不卡| 亚洲天堂热| 色欲久久综合| 色婷婷激情Av久久久| 国内外色色色色色成人视频| 色婷婷影院| 黄色国久久| 五月天婷婷人妻| 日韩久久色| 日本熟妇乱妇熟色A片蜜桃| 99热6色| 色五月首页| 婷婷丁香五月天综合在线日韩| 色综合五月| 色五月激情问网站| 国产婷婷五月| 中国丰满熟女A片免费观| 欧美视频在线观看噜噜| h亚洲| 五月丁香六月婷| 狠狠色综合网站久久久久| 婷婷99中文字幕| 青青草国产亚洲精品久久| 思思热视频在线| www.99热国产| 神马欧美精| 色狠狠色噜噜AV天堂五区| 九热视频这里只有精品| 91美女被操| 91五月花丁香| 香蕉久久国产AV一区二区| xx人人xx| 欧美韩日AAA网站| 五月 成人 婷婷| www,婷婷,com| 亚洲这里只有精品| 人人摸人人| 激情五月天婷婷久久久久久久久久久 | 白天AV月月| 美女黄频aⅴ视频| 羞羞嫩草视频| 九九亚洲| 欧美视频五区| 婷婷五月天AV激情| 欧美日韩999| 777久久久| 97干干干丁香| 五月丁香色综合| 婷婷五月天影院| www.久久久久| 天堂网啪啪| 有码一区二区三区| 夜夜夜夜夜操| 国产无人区大片| 这里只有精品9| 狠狠色性| 婷婷五月激情欧美| 色色九区| 99国产精品久久久久久久久久久 | 五月天婷婷丁香成人网| 色色婷婷五月| 亚洲激情综合| 这里只有久久精99| 亚洲欧州色情在线观看| 国产色丁香| 7777激情基地| 97在线刺激| 成人综合网站| 婷婷大香蕉| www.99色| 我爱大香蕉| av在线免费网站| 青草视频在线蜜臀| 欧美亚洲999| 久久在线大香蕉| 亚洲啪啪精品| 久久九九一區| 五月婷久久综合| 伊人狼人干| 九色在线五月婷婷网址| 一级AV片| 婷婷五月丁香亚洲| 久婷狼色诱惑在线| 久草免费福利视频| 五月婷婷婷色| 国产AV熟妇人震精品一品二区| 日本天天操| 九九热在线精品视频| 女婷久久| 五月激情综合网| 99热| 99热综合网| 人妻人人操| 日韩婷婷| 97香蕉碰碰人妻国产欧美| 久久色情| 99久久婷婷五月综合| 五月天婷婷在线播放| 99热官网精品在线| 色婷婷五月天在线观看| 96精品久久久久久久久| 丁香婷婷性爱| 久久92| 99精在线| 裸体做A爰片毛片A片免费| 成人做爰黄A片免费看直播室男男| 丁香五月激情五月| 丰满老熟妇BBBBB搡BBB| 伊人香大香蕉视频| 99精品偷自拍| av一区二区电影免费在线观看| 99国产欧美视频| 91日视频| 91精品91久久久中77777久久玖玖九九| 国产avapp 网| 狠狠做五月| 丁香五月骚喷水视频| 丁香六月无码| 九九热精品99| 丁香婷婷五月色成人网站| 五月天婷婷无码| 涩涩涩五月天| 婷色五月| 丁香九月色| 婷婷丁香五月天色色| 91精品91久久久中77777久久玖玖九九 | 这里只有精品视频看看| 精品五月天| 五月婷婷激情性爱| 中文字幕欧美日韩VA免费视频| 五月综合激情啪啪啪啪啪| 色婷婷五月成人网| 97成人丁香婷婷| 超碰碰碰碰| 亚洲色色色色| 丁香五月综合激情性爱| 五月天婷婷基地| 在线播放成人| 色综合狠狠色| 婷婷五月丁香六月伊人网| 国产在线另类五月婷婷| 久久综合五月天| 九九久久99| 91久久精品视频| 九九日本视频| 另类综合婷婷五月天欧美视频| 色婷婷久久综合中文久久一本 | 99激情在线| 性做爰A片免费视频A片直播 | 99热综合| 久久婷婷亚洲| 夜夜爱爱亚洲| 人人操Av| 五月婷婷丁香五月| 99国产精品久久久久久久久久久| 九九热视频精品999| 五月丁香福利| 99热只有精| 久久人操| 99精品综合在线| 区美毛片子| 激情九九综合网| 亚洲操逼网| yw.av| 婷婷久久午夜网| 综合五月天婷婷色| 超碰色碰碰| 九九狠狠干| 婷婷五月丁香久久| 99自拍网| 1024在线视频| 婷婷另类开心| 中文字幕人妻在线| 亚洲韩国日产综合AV| 色播五月婷婷综合| 久青操| 97超碰9久热婷婷热| 久99精品视频| 欧美激情五月| 色五月激情五月| 激情另类综合| 国产性爱亚洲是图| 开心五月天激情网| 肏屄色播伊人97婷婷| 91久久婷婷人人澡草| 丁香激情网| 五月婷婷影院| 五月开心啪啪| 五月天成人在线视频网站| 日韩黄色网络| 婷婷五月亚洲一本在线丁香| 嫩草AV久久伊人妇女超级A| 九九99免费视频| 99久久大片| 成人在线二区| 热久久思思热思思| 99综合免费视频| 激情深爱五月天| 日本久久高清| 中文AV网站| 亚洲无AV在线中文字幕| 如何安全看伊人婷婷| 免费黄色片子| 超碰丁香五月| 五月婷av| 欧美性生交XXXXX无码小说| 婷婷久久精品| 五月婷在线观看| 久久99免费视屏| 俺五月| 日韩婷婷| 超碰爱爱爱| 五月婷婷啪啪| 97婷婷五月激情六月丁香伊人| www.狠狠艹| www.99操.com| 日本噜噜色网| www.97视频| 色婷丁香五月| 久草五月婷婷| 99色视频在线观看最新| www久久艹| 日韩成人电影在线播放| 日本熟女内射| 丁J香六月首页| 婷婷五月六月| 久久久九九九 99| 五月婷婷之综合激情| 男人天堂AV在线一区二区| 激情婷婷六月天| 4399欧美另类视频| 色狠狠综合入口| 色综合久久无码| 538在线精品| 色综合色色色色| 亚洲天堂啪啪| 婷婷五月综合在线| 久操福利| 玖热精品综合视频| 97色碰| 五月婷婷六月激情网| 激情丁香五月婷婷| 天天爽在线视频| 嫩BBB槡BBBB搡BBBB| 99热青青草原| 日本色超碰| 五月丁香影视| 亚洲精品无码久久| 九九无码| 人人操超踫| 91综合在线观看| 97在线/亚洲| 激情五月婷黄版| 综合AV在线| 欧美色色日韩| 久久人操| 玖玖精品视频99| 国产婷婷婷| 丁香五月五月婷婷| 亚洲99综合| 八戒青柠影视剧在线观看| 五月丁香六月婷婷中合网| 亚洲黄网在线| 日韩超碰在线| 丁香婷婷五月激情综合| 99九九这里有免费视频| 婷婷五月天小说| 6 9式性爱视频在线播放| www久久艹| 亚洲色情免费网| 超爽内射| 久久人妻视频| 99热只有精品在线播放| 日韩99无码| 91操片| 日日鲁鲁夜夜爽爽| 成人在线视频男人的天堂4399| 色无码| 国产激情AV| 午夜无码熟熟妇丰满人妻 | 色综合天天网| 激情五月天第四色| 丁香五月天视频| 色五月丁香伊人五月| 99视频网址| 人妻丰满精品一区二区A片| 五月婷婷免费看| 色五月婷婷激情综合网| 五月婷婷丁香大香蕉| 99爱在线免费视频| 91精品综合久久久久久五月丁香| 色五月网址| 色护士综合| 99热这里只有精品在线观看| 五月天另类小说| 激情五月开心五月在线视频| 成人免费视频一区| 国产av天堂| 亚洲网站999| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 91丨九色丨大屁股| 超碰人人干| 婷婷,五月天,丁香,第一| 婷婷干六月综合旧址| 婷婷五月花| 综合网啪| 丁香五月天偷拍| 美欧成人视频| 北条麻妃九九九国产精品视频| www.婷婷五月天| 婷婷五日b| 天天久久狠狠色综合| 91久久18| 免费视频99| 久久一热| 六月丁香五月激情网| 婷婷丁香91| 综合色五月亭亭| 婷婷午夜精品久久久| 天天橾夜夜爽| 啪啪夜久久| 婷婷五月天亚洲综合网| 专区无日本视频高清8| 婷婷午夜天| 五月丁香色婷婷婷基地| 4399亚洲视频| 五月天成人在线视频网站| 久久最新色| 国产性爱亚洲是图| 五月天狠狠干| 婷婷五月天Av| 亭亭玉立国色天香| 玖玖爱伊人| 婷婷成人AV| 国产精品VIDEOSSEX久久发布| 久99久视频| 91久久五月天| 五月六月伦理| 蜜乳.comcom| 伊人影音无码一区二区三区| 五月婷婷亚洲| 五月婷婷久久网| AA片在线观看视频在线播放 | 一区三区视频有限公司| 婷婷五月天激情小说| 五月婷婷激情网| 91丨九色丨丰满人妖| 丁香五月天综合| av人人干| 涩涩涩五月天| 久久开心五月天激情| 激情五月四色| 色性五月天| 狠狠色婷婷六月激情网| 综合亚洲五月天| 99综合视频在线| 日本久久性| 久热9热| 亚洲成人中文字幕| www、丁香五月天| WWW久久99久久99久久| 免费在线观看av网站| 五他月天啪啪啪| 久久久九九九 99| 射婷婷中文字幕| 天天干天天插| 色色五月天激情| 亚洲色五月| 97精品人人A片免费看| 国产AV一区二区三区最新精品| 办公室少妇激情呻吟A片在线观看| 五月天丁香| 久久97久久99久久综合欧美| 91男人操女人视频| 99精品国产在热久久| 天天日天天插| 成人午夜视频精品一区| 99热在线观看| 蜜乳久AV| 中国无码av| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲成人AV高清字幕| 强壮公让我夜夜高潮A片视频| 丁香五月伊人| 婷婷97狠狠成人网站| 婷婷最新地址| 99色在线免费观看视频| …亚洲黄色在线播放日韩、av中文a…| 五月天操逼网| 丁香五月天激情网址| 日本久久网| 丁香六月激情综合网| 五月天激情国产综合婷婷婷就去爱| 婷婷五月天激情四射五月天激情| 五月婷成人网| 天天色官网| 婷婷五月激情小说| 人人爱操| 亚洲V国产V欧美V久久久久久| 人妻丰满精品一区二区A片| www99精品日韩| 九九九激情综合| 日日噜噜夜夜狠狠久久丁香五月| 99网| AⅤ在线播放网| 十区av| 九九综合视频在线观看| 久久婷婷欧美| 97婷婷五月天| 亚洲AV综合网| 色五月大香蕉| 婷婷爱五月| 伊人五月婷| 日本色色影院| 99热这里有精品首页10| 噜综合| 99操逼| 五月天婷婷激情小说电影| 日本操天堂| 欧洲亚洲午夜| 丁六月激情| 五月婷婷之美女图片| 91黄址| 五月婷伊人| 色婷婷在线综合色播网| 五月婷综合| 五月婷婷丁香| 91chinese 在线| 777.色色| 婷婷丁香宗合888| 99精品偷自拍| 丁香婷婷综合激情五月色| 2025中文在线视频字幕免费观看| 能直接看的av网站| 色综合天天| 激情婷婷网| 亚洲激情电影五月天色婷婷丁香一起草| 黄色激情五月天| 国精产品一区一区三区免费视频| 91婷婷五月丁香碰| 一本久久亚洲五月婷婷 | 99热18| 丁香五月亚综合图片| 国产白丝在线一区| 婷婷六久久| 激情宗合哪里能看| 淫视馆AV在线| 99青青草99| 丁香六月色香蕉视频| 久久婷婷综合国产| 99热热热天天人人人超超碰| 婷婷激情中文综合| 欧美这里只有精品| 青青久在线视频免费观看| 欧美婷婷丁香五月| 久久这里只有精彩| 91n啪啪| 玖月婷婷爱丁香| 九九热这里只有精品6| 国产精品18久久久| 色综啪啪啪啪啪啪| 九月婷婷综合八月丁香在线观看| 亚洲色综久久五月| 丰满人妻一区二区三区| 91色色色| 看全色黄大色大片| 伊人久久大香线蕉AV最新午夜| 婷婷五月天激情在线观看| 天天射综合网站| 久久新地此| 五月丁香激情婷婷| 超碰日韩成人| 五月色情婷婷开心五月天| 99久在线| 91视频五月丁香| 午夜色丁香| 精品人妻午夜一区二区三区四区| 日韩色五月| 亚洲欧美丁香五月天亚洲欧美| 综合五月激情| 亚洲美女婷婷五月天| 欧美精品999| av国产精品偷| 五月婷视屏在线观看| 人妻久久久久久| 精品激情| 色狠狠综合| 丁香婷婷五月天激情四射| 欧美影院| 九月婷婷激情| 超碰99热精品| 一本到不卡高清DVD| 天天干天天干天天干天天干天天干天天| 色婷婷激情| 亚洲色啪| 日韩亚洲视频| 综合AV在线| 99热首页| www.com色播五月天| 热99这就是精品视频| 人操91在线| 色五月婷婷丁香五月| 狠狠色成人影片| 青草网在线观看| 婷婷五月天色| 91人妻九色大屁股| 五月香六月婷| 精品婷婷丁香五| 日本操逼九九九九58日本操逼| 男女啪啪做爰高潮无遮挡| www.99热最新视频8| 婷婷五月色播天| 久久久人妻门| 婷婷五月丁香五月基地| 五月花丁香婷婷| 91日本在线免费| 五月天亚洲色| 亚洲狠狠婷婷| 日本丁香五月| 97色永久免费视频| 欧美色图天堂网| 丁香五月天AV在线| 狠狠穞A片一區二區三區| 欧美日韩AAAAA| 国产XXXX搡XXXXX搡麻豆| 五月天激情中文字幕| 啪啪日热| 天天插,天天射| 九九色黄色| 天天插天天爽| 人人97碰| 天天干天天干天天干| 久久九精品| 日韩成人中文| 五月天国产| 99激情在线| 午夜69成人做爰视频| 欧美韩日AAA网站| 丁香五月激情综合| 婷婷五月天BBw| 91打屁股视频网站| 六月丁香久久| 五月天狠狠干| 欧美丁香五月| 五月婷婷激情久久| 激情五月综亚网| 五月天天综合网色婷婷| 亚洲午夜一区二区| 九九热再线九九视频免费在线观看 | 欧美性猛交99久久久99| 天天日天天舔| 欧美美女国产日韩一区二区久| 99ri网站在线观看| 色噜噜狠狠狠综合曰曰曰|