欧美成人午夜精品久久久,国产?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
返回資訊列表
成人无码精品1区2区3区免费看| 91九色精品熟女内射| 日韩在线aaa| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 国产精品国产| JAPANRCEP老熟妇乱子伦视频| 久久人妻少妇嫩草AV| 天堂久久丁香| 97碰| 甈你aaaaa| 爱草人视频| 久99久在线| 91丨九色丨东北熟女| 久热在线中文字幕色999舞 | 人妻Av在线| 欧美WW在线网| 婷婷成人在线| 天天做天天爱天天玩| 精品无码久久久久久久久| 91黄操| 伊人玖玖综合| 五月婷婷中文字幕AV| 天天综合久久| 九九精品热| 狠婷婷五月| 色色色色色五月丁香| 丁香五月婷婷色| 91re色综合视频| 丁香六月婷| 欧美性爱五月天| 8090在线影视少妇| 欧美黄色韩日网| 狠狠干婷婷| 色噜噜丁香| 色偷偷五月天| 婷婷大美在线| 五月综合丁香婷婷| 黄色av高清| 九艹在线| 丁香六月无码| 蜜臀久久99精品久久久久久酒店| 9月色婷婷| site:hcxsz888.com| 两性婷婷丁香五月| 成人丁香五月| 色综合色色色| 欧美成人网婷婷综合在线| 超碰免费人人肏| 99九色视频在线观看| 日韩一66精品| 婷久久| 国产欧美精品AAAAAA片| 久久伊人婷婷| 九九视频这里只有精品| 色五月婷婷少妇人妻| 久久婷婷综合色丁香| 婷婷色五月丁香六月欧美啪| 激情五月天网| 国色天香伊人狠狠色| 中文字幕在线免费| 久久免费干| 另类专区在线观看| 激情床戏| 色婷婷五月天不卡| 天天舔天天摸天天射| 久久婷婷五月天激情| 亚洲成av人影院| 天天操夜夜操| 色五月婷婷色五月| 激情丁香网| 伊人综合网站| a网站免费观看| 丁香五月 六月婷婷首页| 亚洲成人高清在线| 五月丁香888| 久99| 狠狠综合网| 五月天色影院| 狠狠狠狠操| 婷婷五月激情综合| 亚洲视频操| 99操九九网| 综合激情视频| 99视频35精品视频在线观看| 激情色色色| 日韩六六久久电影| 婷婷伊人激情婷婷| 激情综合五月激情17| 色吊丝永久访问网址| 91麻豆国产三级精品福利在线观看| 九九热免费| 久久久精品人妻| 九月婷婷丁香| www.五月激情.com| 久久视这里只有精品| 综合网狠狠| 综合久久五| 99精品综合视频| 久久五月天色婷婷| 成人在线日韩欧美| 五月丁香六月在线| 九九99精品| 五月丁香激情啪啪网| 九色综合网| 丁香五月综合| 色婷婷激情| 337p大胆噜噜噜噜噜91Av| 婷婷综合在线| 久久这里只有精品热在99| 天天日,夜夜爽| 国产伊人五月天| 激情婷婷色色| 丁香久月婷| 五六月婷婷久久| 三男玩一女三A片| 婷婷俺去也| 婷婷99狠狠躁天天躁中| 久综合| 色播五月网| 99热这里全是精品| 五月丁香六月婷婷操操操| 色情免费视频播放| 成年人99热| 天天做天天干天天综合网| 欧美情月伍月天| 久久久99久久| 五月丁香婷婷爱激情综合网| 色五月婷婷激情综合网| 色五月av伊人| 婷婷激情区| 色婷婷色五月丁香| 五月丁香色五月| 9久热视频| 色无婷婷| 九热网站| 综合 蜜月 婷婷| 亚洲永远av在线播放| 超碰人人插| 极品人妻VIDEOSSS人妻| 婷婷激情五月呦呦| 丁香五月天社区婷婷| 色婷婷精| 日本久久99久久| 九九热在线99| 丁香六月婷婷色播| 伊人99热| 丁香五月香蕉在线| 丁香五月第九色| 狠狠狠狠免费| 五月丁香婷婷啪啪综合网| 五月激情视频网| 26uuu亚洲欧美另类| 色五月婷婷丁香婷婷| 婷婷夜夜夜夜| 99热在线只有精品| 亚洲愉拍99热成人精品| 丁香九月激情| 潘金莲AAAAAAAAAA| 久久久精品99| 亚洲成人在线播放| a免费在线| 日韩天堂久久| 久久性操| 婷婷五月天激情在线观看| 婷婷区日本| 婷婷五月天激情综合婷婷五月天激情综合 | 99热大香蕉| 九九色精品| 激情综合婷婷五月| 天天夜天天色天天| 99久久玖玖| 日韩欧美一级大黄网站| 大地9中文在线观看免费高清| 欧美性生交XXXXX无码小说| www天堂99| 五月婷丁香久久综合| 日韩视频女神99| 五月丁香久久久久| 五月婷婷六月爱| 激情五月天www| 婷婷五月激情视频在线| 久热久| 五月丁香啪啪啪| 东京热五月婷婷| 激情五月天婷婷丁香| 91日日日| 丁香六月色情| 精品丁香五月天在线播放| 精品成人在线观看| www久视频com| 超碰97免费在线| 影音先锋高清无码资源网| 91婷婷视频| 亚洲XX网| 狠狠狠狠狠狠草| 婷婷久久综合久色| 26uuu亚洲| 色综啪啪网| 激情久久综合网| 视频1区2区| 中海油常州环保涂料有限公司| 99热这里只有精品96| 国产偷人妻精品一区| 亚洲成人超碰| 少妇水多A片太爽了| 精品操逼一区二区| 久久久妻人人人| 久久九九在线视频| 激情五月天小说网| 婷婷色色丁香| 激情六月五月婷婷综合网| 激情内射p| 久久婷婷色| 91色色五月天| 涩五月婷婷| 丁香五月婷婷俺也要去| 丁香五月婷婷在线| 九九激情视频| 婷婷丁香一月| 九月激情网| 国产成人精品一区二区三区视频| 91干在线| 色婷婷五月天小说| 精品人妻伦一二三区久久| 色婷婷免费视频| 五月婷丁香| 97超碰9久热婷婷热| 久久三级视频| 色婷婷综合视频| 欧美激情综合色综合啪啪五月| 狠狠爱丁香婷| 99热这里只有精品在线免费| 色碰碰| 91夫妻视频| 99激情网| 婷婷免费视频| 在线中文AV| 欧美色色色色色色色| 热99只有精品| 久久久久婷婷| 久久婷婷网| A A色色| 婷婷天堂综合| 成年视频免费观看| 麻豆五月丁香婷婷| 99热这里只有精品8| 激情内射人妻1区2区3区| 日韩精品一区二区亚洲AV观看| 秋霞电影理论| 久久婷婷五月天| 伊人五月综合网| 欧洲亚洲欧洲99久久| VA色婷婷| 香蕉伊人综合| 日日爱699| 五月婷婷综合在线| 九九色人| 无码色| 五月开心网| 日本熟妇乱妇熟色A片蜜桃| 六月婷婷综合久久| 五月丁香无码| 蜜臀久久99精品久久久久久酒店| 久热2025无码| 婷婷丁香五月激情| 夜夜 操无码| 99热这里只有在线播放| 99热精品无码| 久久三级视频| 婷婷婷婷婷婷婷婷| 蒲京久久无码视频| 婷婷六月激情丁香| 欧美叉叉叉BBB网站| 好看的国产精品| 天天天综合网| www色哟哟| 6080av| 久久久久婷婷| 思思久久99热| 99爱视频在线观看| 色狠狠综合| 五月丁香综合中文| 婷婷五月无码| 五月天综合久久| 久热一区| 丁香婷婷五月六月天| 婷婷亚洲综合| 天天做天天爱天天爽夜夜揉| 久久婷婷五月综合| 五月色色色| 久9久成人精品视频| 丁香五月ⅤA久久久| 日日操,夜夜爽| 狠狠干无码| 五月日韩中文字幕| 开心五月综合激情综合五月| 精品人妻午夜一区二区三区四区 | 日韩有码一区| 色久五月天| 激情综合视频| 色欲天天综合| 亚洲成人无码片| 激情五月狠狠| 婷香狠狠爱五月| 99思思热只有在这里看| 偷拍九九热| 五月婷婷综合激情| 国产做爰视频免费播放| 久久这里有精品99| 一本到不卡高清DVD| 日夜夜天天| 99热热热99精品婷婷| 五月天全国最大成人网| 久热伊人91| 开心五月深爱激情| 91趴趴| 五月婷婷婷| 五月叮香啪| 丁香婷婷激情五月天无毒不卡蜜桃| 丁香五月婷婷av影院| 久久99热精品a片在线观看| 大战熟女丰满人妻AV| 深爱激情网婷婷| 国产人妻777人伦精品HD| 无码激情精品色婷婷久久久久| 可以免费观看的AV| 97色色色色色色色色色色色色色| 丁香六月婷婷基地| 五月丁香在线观看| 9久热| 影音先锋色色色资源色资源色| 欧美成人A片AAA片在线播放| 婷婷九月激情| A片天天| 久久久五月四色| 国产亚洲av片| 色色五月丁香婷婷| 5月色婷婷| 97热这里只有精品| 5月婷婷六月丁香| 国产AV成人精品| 婷婷激情五月天激情| 9热在线视频精品| 91日日日| 婷婷欧美激情综合| 激情五月成年| 亚洲激情97五月天| 伊人久久大香线蕉综合网站| 9色在线视频| 91婷婷丁香五月天免费视频网站| 久久精品国产一区二区三区四区| 欧美日韩AAAA| 综合久久97| 狠狠干综合| 五月亭亭综合五码| 超碰97色| 极品另类| 草操AV在线| 在线看片h站| 五月婷婷色五月| 五月婷婷五月天| 色婷婷丁香五月| 好激情在线综合网| 另类激情五月| 99ER热精品视频| 婷婷涩涩五月天| 欧美精品XXXXBBBB| 丁香五月在线看| 色偷偷人人| 99自拍网| 西瓜美女a片| 亚洲色综合色网| 五月丁香啪| 丁香色啪综合| 97超碰欧美中文字幕| 色丁香久久| 狠狠色狠狠鲁| 奇米四色五月天| WWW.99热| 丁香网五月天激情| 中文字幕永久在线| 日曰躁夜夜躁2026| 9久久婷婷国产综合精品性色| 久久久性爱网| 日韩黄色影院| 五月色色网| www.日韩艹| 噜噜噜噜噜久| 91人人爱| 婷婷五月成人| 亚洲激情.com| 色五月婷婷少妇人妻| 高清 码 免费看片短视频| 这里只有精品久久| 人人摸人人摸| 日韩人妻白浆视频系列| 久久与婷婷| 五月综合亚洲| 色噜噜五月天| 97日本在线播放| 996er热| 狠狠色婷婷丁香六月| 婷婷玖玖丁香| 97超碰,人人舔,人人操,人人摸| 伊人婷婷色| 久久99成人性爱高清视频| 大香蕉婷婷五月天| 丁香五月亚洲婷婷| 激情综合五月| 嫩草视频。| 色无码| 久久久久久性爱视频| 99色这里| 4399高清无码视频| 新激情五月天| 久综合网| 亚洲AV日韩无码| 婷婷综合九色伊人| www激情| 色色色.COM| 久久这里只有精彩| 97热久久| 色色色999| 综合激情五月婷婷| 天天日天天爱天天噪| 婷婷在线观看五月天在线视频| 婷婷五月a| 婷婷成人五月天成人文学| 天天玩夜夜操| 五月WWW| 大香蕉久艹| 影音先锋日本三级资源| 97色色色| 狠狠做五月| 五月综合激情啪啪啪啪啪| 91狠狠色丁香婷婷综合久久精品| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 亚洲国产精品二二三三区 | 婷婷激情蜜桃玖玖丁香| 久久只有这里精品免费| 成人av在线网站| 爱iii做iiii日| 五月丁香成人网| 99性爱| 国产精品成人av在线观看春天| 成人超碰AV| 九色视频91疯狂| 色婷婷情片| 大香蕉视频99| 免费在线观看AV网站| 五月天婷婷久久| 91精品久久久久久| 婷婷五月天AV在线| 激情九九六月激情免费视频| 色五月天成人| 婷婷色色欧美| 亚洲夜夜操| 天天插天天| 亚洲五月六丁香激情| 操B五月天| 99九九视频| 色婷婷另类| 色婷婷AV久久| 日本A片一区| 久久您您综合网| 国产成人精品一区二三区熟女在线| 天天操婷婷| 99精品久久| 91欧美日韩综合| 另类 在线| www.日本久久videos| 五月天停婷基地| av无码电影| 久久99精品久久久久久青青AR| 五月婷婷黄网站大全| 狠狠色噜噜狠| 操91综合网| 中文幕无线码中文字蜜桃| 成人无码精品1区2区3区免费看| 五月丁香777| 色综合色综合网| 久久久网站| 丁香五月综合婷婷| 婷婷五月天网| 日本猛少妇色XXXXX猛叫| 日本99视频| 五月婷婷综合在线| 中文字幕 中文字幕明步| 一级AV片| 人人操超碰| 日韩AV在线免费| 国产人人操| 91人人爽人人操| 99ri在线播放| 日本久久高清| 99热99ai| 五月色丁香婷婷中文字幕| 丁香五月丁香伊人| 五月婷婷网站| 亚洲国产精品VA在线看黑人| 97影院一级片| 九九精品免费| 色狠狠婷婷| 日本不卡一区二区三区| 久久丁香久久| 婷婷五月色天| 六月婷婷av| 丁香五月天堂网| 99久久99久久综合| 五月天开心色色网| 色婷婷丁香中文在线播放| 99丁香五月| 67194线路二在线观看| 色吊丝99| 97热这里精品在线视频| 狠狠搞五月天| 五月丁香亚洲五月| 色五XX| 天天日 天天草| 99在线观看视频| 五月婷婷五月天| 国产精品99久久久久久久女警| 五月天开心网| 99在线综合视频| 91丨九色丨熟女丰满| 99久久综合网| 婷婷五月天影视| 综合激情sV| 另类少妇人与禽zOZZ0性伦| av操逼网| 色五月大| 国产熟女一区二区三区五月婷| 玖玖99福利| 亚洲精品五月| 激情丁香九九五月综合网| 亚洲色网址| 一级AV片| 538任你爽视频不一样的| 婷婷色中文字幕| 五月天成人伊人| 开心五月网 | 99国产精品白浆在线观看免费| 欧美日韩成人综合9| 視频福利乱色| 99在线精品视频免费| 伊人狠狠综合| 久草天堂| 婷婷丁香中文字幕| 操人精品| 影音先锋女人av鲁色资源网小说免费| 五月天激情社区| 91碰视频| 狠狠干五月| 日本乱论99| 狠狠操天天操| 五月天成人网在线观看| 久久9视频| 婷婷综合玖玖五月| 色色五月天婷婷| 视色综合| 丁香五月社区| 成人在线高清| 一本久久亚洲五月婷婷| 久色大| 这里只有精品视频| 日韩成人电泉AV| 激情五月婷黄版| 天天天摸夜夜夜玩| 99热这里是精品| 婷婷香蕉香| 久久婷婷五月综合| 婷婷五月天激情五月天深爱五月天| 91热在线| 字幕网AV中文字幕| 这里只有精品免费在线视频| 色五月丁香伊人五月| 综合网啪| 韩国中文字幕91| 九九色欲网| 丁香五月网在线观看| 狠狠操狠狠爱| 亚洲AV另类| 99色色最新视频| www99在线观看视频| 婷色天堂| 五月丁香综合啪啪| 狠狠干综合| 玖久久网站| 成人天天爽| 丁香美女五月天婷婷| 无码免费人妻A片AAA毛片西瓜| 99人人操人人操人人精| 五月色丁香激情| 激情五月天影院| 丁香五月天婷婷91| 婷婷五月天激情综合| 亚韩在线视频| 亚洲国产黄色电影| 这里只有国产精品在线| 欧美日韩123| 抽插特写| 天天婷婷操| 中文字幕永久免费| www热久久yy9| 激情五月丁香六月综合AVXXXX| 成人做爰A片免费看视频| 99伊人婷婷在线| 综合久久五月| 九九碰九九爱97超碰| 婷婷五月综合久久中文字幕| 精品久久艹| 日本三级成人秘书精品片| 人人爽人人射-美女久久久久久久久久-成人AV | 丁香五月区| www.minyis.com【JT】实力收量可预付QQ2101460746 | 99热97| 亚洲12p| 996er在线观看| 婷久久| 亚洲免费视频网站| 99er热精品视频| 99免费超碰在线| 精品视频99看在线视频| 久碰视频| 99热人人| 久久网日本| 综合99在线| 五月丁香青草综合啪啪| 国产偷人爽久久久久久老妇APP| 丁香五月手机在线| 久热这里| 五月丁了香蕉综合| 婷婷涩涩五月天| www日本熟妇99在线视频| 色97综合婷婷天天色| 思恩热国产视频右线观看| 99久精品视频| 六九色综合婷婷五月天| 另类图片五月激情| 五月丁香六月婷婷亚洲综合| 成人做爰黄A片免费看直播室男男| 激情婷婷色小说| 综合色播| 色五月之第四色| 26UUU欧美| 六月婷婷激情| 亚洲AV免费在线| 五月丁香婷婷综合久久| 91色在线/日韩| 久久久久亚洲AV无码网影音先锋| 99爱视频| 超碰色婷婷| 亚洲啪啪网| 久99视频在线观看| 久久9视频| 综合色色婷婷| 五月丁香婷婷欧美| 六月激情婷婷色| av大香蕉| 丁香婷婷少妇| 91性交在线播放| 操熟女成人网| 男人的天堂av俄罗斯热| 丰满熟女人妻一区二区三| 99在线小视频| 久久精品这里只有精品免费首页| 97婷婷在线| 色在线99| 粉嫩av蜜桃av蜜臀av| 日韩啪啪视频| 久久97| 9久精品| 久久五月网| 伊人喵咪a V| 六月丁香久久| 97碰碰在线观看视频| 女人被男人吃奶到高潮| 影音先锋一区二区三区| 青青草原伊人网| 久久婷婷五月天蜜桃| 色五月成人| 天天射天天干天插色综合| 97在线精品| 这里只有精品视频视频在线观看| 538在线精品| 国产乱妇乱子伦| 99丝袜精品视频网站| 六月婷婷八月丁香| 综合激情婷婷| 99久久国产宗和精品1上映| 婷婷中文字幕版| 婷婷黄色网| 五月婷婷69| 18久久| 五月色婷婷影院| 一起草无码视频| 色色色香蕉五月婷| 99精品视频网| 99自拍视频在线观看| 久久伊人五月天| 内射激情在线| 热996精品在线观看| 激情五月婷| 激情播丁香| www91色网站| 色在线99| 久草大| 国产精品人成A片一区二区| 亚洲色A| 99人人操人人操人人精| 色婷婷五月综合| 婷婷五月精品在线| 亚洲AV另类| 天天插天天插天天插天天插| 五六月丁香激情视频| 色原狠狠综合| 亚洲激情网| 色五月五月丁香| 91打屁股视频网站| 色播丁香| 婷婷无码五月天| 97操操| 狠狠色综合网| 婷婷五月丁香六月综合网| 五月天婷婷基地综合网| 国产乱子轮XXX农村| 国产午夜一区二区三区| 久久ww| 夜色五月天| 97婷婷狠狠| 五月丁香成人| 国产.亚洲.欧洲视频在线| 久热免费视频| 久99久99精品免| 久久久久久久久久久久久久人妻视频| 日曰躁夜夜躁2026| 五月婷婷啪啪网| 亚洲婷婷丁香五月视频| 婷婷五月香蕉| 色婷婷中文| 婷婷六月久久综合导航| 丁香五月婷婷色播艳门照| 99热大香蕉| 色五月婷婷777| 丁香色综合| 激情五月色综合国产精品| 五月丁香久| 高清a片基地| 婷婷综合| 色五月丁香婷婷在线观看| 天天人人综合| www.99久久久久99| 国自产拍偷拍精品啪啪一区二区| 中文av网站| 爱草视频在线| 五月婷婷中文字幕| 人人操人人妻| www.超碰在线| 五月丁香色婷婷色| 深爱激情av| 丁香五月,开心五月,成人婷婷| 天色色综合网| 国产99久久久国产精品免费看| 97色啪| 五月丁香激情欧洲啪啪| site:pzdcoin.com| www.久久久久久| 琪琪色网址| 久久99综合| 欧美性猛交99久久久99| 五月婷婷人妻| 九九视频这里是精品五月| 26.uuu丁香五月婷婷| 亚洲182在线观看| a网站免费观看| 999婷婷综合| 可以直接看的AV| 亚洲色婷婷网站| 狠狠色综合网| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 六月丁香婷婷大香蕉| 丁香五月电影| 爆乳熟女-区二区三区| 天天日天天色| 99性视频| 久久人妻视步| 婷婷四色五月| 五月丁香六月婷婷啪啪综合 | 九九婷婷五月天| 成人在线视频网| 丁香六月激情| 五月婷婷六月激情| 99亚洲无码| 色五月视频无码播放| 天天骑日日爽| 女婷久久| 亚洲综合另类| 嫩草国产| 久久久五月天婷婷成人网| 亚洲网站观看视频| 人人操av| 婷婷丁香色情| 九九青草热| 夜夜撸日日骑| 婷婷五月天综合中文| 日本婷婷丁香五月| 亚洲五月天综合色| 99久久婷婷| 九色视频91疯狂| 国产综合81p| 亚洲精品网址| 99综合成人视频在线观看| 久久久全国免费视频| 青草视频在线观看视频| 亚洲激情综合| 色综合婷婷| 九九99九九99| 97香蕉久久超级碰碰高清版| 欧美Va婷色| 五月丁香六月婷婷激情视频在线观看免费| 五月丁香花开综合网| 先锋资源 996| 99热这里只有精品亚洲| 综合激情五月综合激情五月激情1| 伊人春天av| 婷婷五月天在线看| 99热精品在线| 五月丁香六月色婷| 国产激情综合| 99精品久久久久久久婷婷| 99热免费精品| 激情久久网| 夜色综合网| 免费看无码视频A级| 精品亚洲日韩99欧美片| 婷婷五月丁香色播| 丁香玖玖| 国产婷婷综合在线免费视频| 91超碰在线观看| PORNY九色9l自拍视频成人| 亚洲AV网址| 啪啪综合| 久久五月婷| 九九综合视频在线观看| 久久99最新| 五月天堂婷婷| 操逼福利视频| 中文不卡一二区| 激情五月综合网最新| 丁香六月成人| 夜夜大香蕉婷婷丁香| 97在线精品视频| 婷婷综合激情| 丁香五月影院| 久久久久9999| 99噜噜噜在线播放| 97碰碰草| 丁香五月天堂网AV| 香蕉婷婷色五月| 91久久婷婷| 狠狠狠狠狠狠草| 六月丁香激情综合| 国产精品色婷婷AV综合色色| 色色色色色网| 99热老网站| 久热91| 九九综合九| 亚洲国产黄色电影| 噜噜色五月| 天天色播| 婷婷的五月天另类视频| 99爱免费在线观看| 丁香五月六月婷婷综合激情| 婷婷五月天激情免费在线观看| 欧美一级操逼视频| 丁香五月色五月| 精品五月天| 免费视频WWW在线观看网站| 偷拍丁香九月激情| 国产成人亚洲综合亚洲| 五月丁香激| 激情图片亚洲| 天天婷婷天天| 热思思| 久婷婷婷| 婷婷伊人綜合中文字幕| 男女av免费看| 国产小精品| 精品一二三区久久AAA片| 色婷婷91激情小说| 黄色片精品| 久婷婷五月激情| 麻豆精品| 欧美日韩999| 激情五月丁香在线观看直播| 日韩无码色色| 五月伊人网| 亚洲乱码日产精品BD在线观看| 国av网| 婷婷综合精品| 色综合色欲综合天天免费| 五月婷视屏在线观看| 日韩操逼大片| 亚洲亚洲人成综合网络| 夜色爱爱亚洲| 五月婷婷大香蕉| 丁香欧美| 欧美99热| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久9热视频在线观看| 激情婷婷五月久久| 五月天五月婷五月激情网| 天天射影院| 99色色| 五月婷婷丁香大香蕉| 99久久婷婷国产综合精品青桔| 精品婷婷五月视| 久久色9| 婷婷成人视频| 激情文学 综合 九月| 久久网站免费亚洲| 五月婷视屏在线观看| 99色色网| 99国产欧美视频| 五月天激情综合首页| 丁香涩涩爱| 色婷婷色99国产综合精品| 五月婷婷性爱网| 欧美成人Va| 五月天激情无码| 九九这里只有精品| 婷婷五月丁香香蕉| 婷婷丁香五月精品| 丁香五月激情网| 99燥99日| av操B网站| 久久这里这里有精品免费视频| 综合五月丁香六月婷婷| 激情五月激情综合网| 97热超碰| 国产va在线视频| 丁香伊人网| 久久久精品免费啪啪国| 成人网站免费在线播放| 久久人妻系列| www.色婷婷| 免费观看日韩成人av| 亚洲激情校园| 波多野结衣AV无码Porn| 亚洲色网络| 国产99热在线看| 激情六月天婷婷| 欧美激情综合| 色99视| 五月天婷婷网站| 激情综合区| 人妻Av在线| 五月天婷婷永久免费视频| 97五月久久丁香婷婷| 久久婷婷五月天激情新地址| 久久久婷婷婷| 五月亭亭狠狠| 国产成人+综合亚洲+天堂| 亚洲有码在线视频| 色情激情五月| 狠狠操狠狠插| 国产脫衣舞一区二区三区| 艹| 天天爱天天操| 亚洲天99| 99在线精品视频免费观看20| 国产一区二区三区影院| 色九综合| 99爱免费视频| 狠狠精品干练久久久无码中文字幕 | 五月激情在线| 中文字幕在线观看视频www| 5月婷婷6月六月丁香| 欧美搡BBBBB摔BBBBB| 97人人超| 99热1| 狠狠久久婷| 五月婷婷婷自由综合| 六月婷婷五月丁香| 婷婷激情在线| 五月丁香六月情| 9999热在线| α久久| 色播丁香| 黄色激情久久| 播五月丁香三月婷婷| 五月天堂六月丁香亚州中文字幕久久 | 超碰com| 9久久久| 亚洲欧美一区二区三区四区爱爱动图| 被强行糟蹋的女人A片| 7月婷婷六月丁香| 97资源欧美日韩大香蕉超碰一区| 丁香五月成人av| 丁香五月开心七月| 色婷婷丁香五月观看| 激情小说婷婷| 99自拍视频在线| 五月丁香激情综合| 亚洲婷婷基地| 1024操逼视频| 五月丁香六月停停停| 丁香五月婷婷呀| 六月丁香婷| 99视频超级精品| 婷婷金品综合视频| 色色五月丁香婷婷| 婷婷五月激情网| 久久婷婷一级片| 影音先锋 婷婷| 色色五月婷婷狠狠| 丁香五月婷婷精品视频| 中文字幕网伦射乱中文| 日日干综合| 欧美美女视频| 天天艹夜夜爽| 搡BBBB搡BBB搡18| 亚洲婷婷婷| 98国产精品综合一区二区三区 | 色五月婷婷91| 久久综合五月天| 大香蕉人人网| 99热97| 色www.con| 激情性爱五月| 深夜男女福利刺激影院一区完整| 色欲天天综合| 日韩狠狠色| 91黄址| 色色色色综合网| 91精品婷婷国产综合久久| 五月天伊人网| av激情在线| 狠狠五月激情丁香六月| 五月丁香另类图片| 婷婷97| 亚洲视频码| 天天噜噜| 激情av| 九九亚洲视频| 九九热在线视频观看| 97精品欧美91久久久久久久| 美国十月色婷婷在线观看| 婷婷五月综合色拍| 国产成人AV在线| www.日本久久videos| 六月婷婷五月丁香| 五月色婷| aaaa久久| 综合五月婷婷| 91日本在线免费| 99这里| 8区视频在线| www.五月丁香| 狠狠干2007| 噜噜在线| 久久婷婷色五月| 狠狠色综合网站久久久久| 五月婷婷开心综合| 色欲久久久久久综合网综合网| 亚洲综合草草| 激情五月天婷婷直播| 91chinese在线| 俺去也在线www色官网| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 欧美Va婷色| 综合色五月| 亚洲综合激情五月久久| 精品九九视频| 91综合在线观看首页| 天堂色婷婷| 高清视频一区| 性爱视频久久| 日本欧美国产| 91激情五月开心| 婷婷开心激情| 思思热热久久| 色婷在线视频| 99精品在线观看视频| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 精品无码av丁香五月激情| 91av视频| 蜜臀99精品| 任你草| 激情综合网激情五月婷婷| 狠狠高潮精品亚洲1| 五月综合色| 久久9热好| 婷婷五月天综合网| 五月婷色| 色级停停| 亚洲综合另类| va婷婷在线| WWW、日本色丁香、co m| 久久婷婷亚洲| 色色是色N一| H亚洲| 久热91| 五月婷婷深爱六月| 91人人澡人人爽人人看| 丁香六月综合激情| 亚洲麻豆乱码国产2028| 婷婷色色欧美| 久久综合激情| 天天婷婷色六月| 亚洲啪视频| 日韩乱轮AV| 这里只有精品无码| 久久久久激情| 日日躁夜夜躁狠狠久久AV| 五月丁香婷婷爱| 777久久综合视频| 五月亭亭色| 狠狠色综合网| se影音资源在线观看| AV电影在线播放| 亚洲丁香花五月丁香花| 五月丁香无码| 五月婷婷丁香在线视频| 黄色五月婷婷| 久久99草五月婷婷| 久碰视频| 激情五月天激情综合网| 久久99久久久久久| 性爱视频久久| 夜色综合网| 五月激情网五月综合网| 亚洲色婷婷五月天| 中文字幕人成乱码在线观看| 婷婷 丁香 精品| 久久久18| 亚洲婷婷综合视频| 五月丁香六月婷婷久久肏| 丁香五月天欧美在线| 色色色com| 色色色图| 激情综合网之激情五月| 九九大香蕉黄色影院| 青草视频在线播放| 九月丁香| 婷婷丁香成人五月天| 疯狂做受XXXX高潮A片| 色婷婷综合视频| 不卡成人免费| www.五月天| 欧美色性色好| 99精品7| 丝袜人妻| 婷婷五月丁香A∨| 国自产拍偷拍精品啪啪一区二区| 婷婷色五天| 丁香六月成人网| 高清无码.com| 五月婷婷六月丁香首页| 国产97在线日韩亚洲女人被黑人巨大| www.91婷婷| 日韩99精品| 欧美99热| 婷婷五月丁香综合激情| 久久9情免费| 无码激情AAAAA片-区区| 免费亚洲婷婷中文字幕| 在线观看中文字幕| 天天插天天日天天爽| www.久久久.com| 丁香五夜激情四射夜夜夜| 五月丁香婷婷五月色| 极品人妻VideOssS人妻| 亚洲综合无码| www五月天com| 狠狠操.COM| 综合丁香婷婷五月天| 伊人久久婷| 精品一区二区三区三区| 久99婷婷色综合| 五月丁香啪啪网| 丁香大香蕉| 日日操夜夜爽| 亚洲另类噜噜| 婷婷五月天六月综合| 都市激情久久| 99热主页日本| 欧美亚洲成人在线| 九九热视频精品999| 少妇性按摩无码中文A片| 色欲天天综合网| 婷婷情色五月天| 五月天婷婷婷| 99久久99热这里只有精品| 国产精品在线视频| 五月天激情小说| 国产精品日日躁夜夜躁| 五月天色色色色色| 久久精品日| 天天干天天av天天射| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 婷婷中文无码| 九九热re99re6在线精品| 色综合激情| 五月婷婷精品无在线| 日韩欧美四五区| 欧美天天干五月丁香| site:xiongshengzz.com| 欧美在线视频99| 成人在线精品| 久久大香蕉同僚| 成人在线视频一区| www.久9| 欧美碰碰碰| 91综合色噜噜| 97性高潮久久久| 色婷婷色丁香色欲av| jiujiuxiangjiaowang| 五月天社区婷婷| 西西4r午夜剧场| 久久全意婷婷| 蜜桃婷婷丁香综合久久开心亚洲| 色五月激情五月| 国产亚洲精品久久久久苍井松| 激情av| 99综合| 狠狠色婷婷| 五月丁香黄色视频| 成人丁香| 五月天激情小说| 精品一二三区久久AAA片| 99热色精品| 天天干天天爽| 激情综合色| www婷婷| 久草热8精品视频在线观看| 五月婷在线| 97精品人人A片免费看| 日产精品一线二线三线芒果| 亚洲亚洲人成综合网络| 亚洲字幕AV一区二区三区四区| 两性婷婷丁香五月| 怡红院AV亚洲一区二区三区H| 国产精品久久久久久久久久 | 情色婷婷五月天| 操操碰| 996er热| 九九久久精品| 欧美日韩大黄| 激情五月综合视频| 无码中文一区二区三区| 五月天色导航| 五月婷婷无码| 草综合14| 五月天婷婷久久| 99热国产| 激情九月婷婷| 99综合视频| 丁香六月婷婷综合| 香蕉久操| 国产色色色色色| 97久久五月丁香婷婷| 久久婷婷激情| 思思久ren热| 婷婷四色五月| 96五月丁香熟女|