色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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 庫Python 要調(diào)用它不是直接通過 ctypes而是通過 SWIG 生成的包裝層。這個(gè)包裝層在編譯時(shí)會(huì)調(diào)用 Python.h 和 Python 的導(dǎo)入庫同時(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)算庫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ù)抽象庫可選 1.11.0但 1.9.2 踩坑資料更多GEOS3.3.8空間幾何運(yùn)算庫編譯 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)鏈接庫它內(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)庫。把它加到系統(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ū)АN乙话氵x擇默認(rèn)安裝路徑也就是C:\Program Files\GDAL192這個(gè)路徑后面還要用到。安裝向?qū)Ю锶绻霈F(xiàn)“Python bindings”或“osgeo”之類的選項(xiàng)一定要確保它是啟用的。有些精簡(jiǎn)版 MSI 會(huì)默認(rèn)取消 Python 綁定那樣裝完只有核心庫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 綁定的編譯需要依賴核心庫的頭文件。如果 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)證核心庫裝完 GDAL 后第一件事不是急著寫 Python而是先跑命令行工具。打開任意命令提示符現(xiàn)在普通 cmd 也可以了因?yàn)榄h(huán)境變量已經(jīng)配好輸入gdalinfo --version如果輸出類似GDAL 1.9.2, released 2012/10/08的版本信息說明核心庫和命令行工具都能工作。再拿一個(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
返回資訊列表
手机不卡视频不卡在线一二三区| 亚洲国产成人精品999| 99超级碰免费视频| 欧美色老汉| 青青青操| 亚洲欧美精品一区天堂久久| 99久久婷婷| 日韩字幕一区| 国产高清自拍视频| 欧洲精品一级二级精品综合视频综合| 亚洲中字慕不卡| 三级特黄60分钟播放| 国产AV天美| 四虎视频在线观看| 婷婷激情一区二区三区俺也去| 欧美啪啪啪91| 亚洲蜜乳av| 久久伊人网视频一区二区三区| 懂色av中文字幕| 逼操网站| 啊啊啊啊啊好大好舒服想要| 天天噜| 91精品91久久久中77777| 精品国产乱码久久久久久蜜臀| 亚洲中文字母在线播放| 中文字幕一区 二 区 三 四 五 区日 日 骚| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 亚洲精品蜜桃久久久| 成人a大片在线观看| 久婷婷一区| 可以在线观看的黄色网址| 久久发布国产伦子伦精品| 91综合站| 久久综合中文国产| 性爱av网站| 欧美热图99| 欧美精品999| 日韩图色| 婷婷美人网| www欧美性爱| 91情色在线| 婷婷久草一区二区三区| 波多野结衣AV无码一区| 草B在线| 亚洲 欧美日韩 另类| 夜夜春夜夜操| 九九热男人天堂| 人妻天天爽天天爽三区| 九一国产精品| 澳门成人网站久国产日韩| 一级成人性爱| 亚洲高清欧美总合| 99re只有精品| 国产成人自拍视频在线| 亚洲av青草久久一区二区| 嗯嗯嗯啊啊啊操的我好爽| 天天干天天燥| 中文字幕精品码亚洲| 2025亚洲男人天堂| 91free福利| 国产女同在线观看视频| 久久久国产护士丝袜美腿一| 欧美日韩国产传媒在线精品| 国产一区二区a毛片| 欧美丝袜91| 91在线视频观看国产| 国产精品对白自产拍| 欧美一级三级| 337p大胆噜噜噜噜噜91Av| 91无码西班牙视频在线| 97色操| 欧亚第一综合网| 乱伦系列一区二区| 中国操逼无码| 97操| 97伦综合| 天天综合网亚洲综合网| 亚州精品丝袜-不卡成人免费| 天天干天天操天天干天天操| 人人摸人人干人人拍97| 免费啪啪av| 97久久国产精品女不卡| 亚洲做性| 日韩成人人妻网站| 天天摸夜夜操视频| h色99999| 老司机午夜福利视频一区二区| 欧美国产精品久久九九| 亚洲久久久久| 欧美色道啊| 中文字幕AV片| 极品白嫩福利在线| 日本久久网| 国产极品美女高潮无套在线观看| 午夜视频久久久久一区| 乱伦熟女论坛| 中文字幕熟女人妻丝袜| 操www| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 日本在线不卡123| 天天干天天操天天干天天操| 天天天天天天天天天天干美女| 最新av中文字幕高清| 欧美性暴力猛交| 91精品91久久久久77777| 无码久| 精品一区96| 中文字幕日韩综合| 3571色综合一区二区二区| 欧美亚洲日本激情在线| 国产伦精品一区二区三区在线观 | 熟人人妻少妇精品久久| 亚洲AV不卡在线观看| 麻豆国产成人精品| 日本孕妇孕交| 中文字幕精品专区搜索结果91| 91在线丝袜视频| 国产农村妇女精品一二区| 116美女午夜| 久久极品一区二区| 日本九九久久99| 日韩中文字幕宗合在线| 日本亚欧爱爱| 欧美激情精品| 人人操欧美风骚| 蜜臀无码视频在线观看| 欧美精品23| 人妻干天天| 国产性爱在线视频一区二区| 久久精品国产亚洲AV片多多| 久久男女激情视频网站 | 在线色资源| 能看的AV| 97超碰逼| 精品欧美日韩在线观看| 91高清欧美| 96久久久久| 亚洲天堂男人的天堂| 操国产逼| 黄网色一区二区三区四区精品| 人人爱人人操人人性| 一区二区三区机械有限公司| 色呦呦、国产精品| 国产妇女精品视频青青草| 天天碰久久入| 国产曰批免费观看久久久| 看日韩操逼| 久久久久久久久久久久久久久性生活视频 | 少妇色综合| 高清无码学生妹高潮| 极品国产内射| 国产精品视频精品一二| 91亚洲青青草原精品1区| 久草男人天堂| AVE乱伦| 少妇人妻好深太紧了vr91| 国产色精品午夜大片| 九九内射在线| 欧美综合777| 久久男人的天堂| 国产二区视频在线观看电影| 91欧美| 中文熟女五十乱码在线| 欧美性xxxxx狂欢| 亚洲AV无码AV吞精久久久久| 欧美最婬乱婬爆婬性视频 | 亚洲综合性感在线| 91成人精品| 人人操 欧美| 91人人臊| 久男人久久| 久久国产成人精品国产成人亚洲| 国产亚洲色婷婷久久99精品91葵花宝典| 色99视频| 久9久9久9久9久9久9| av三级电影在线播放| 欧美一级黄片免费播放| 蜜臀无码一区二区| 你懂的在线观看区国产| 国色天香av| 玖玖大干人妻| 免费的很黄很污的全部视频| 亚欧中文字幕在线视频| 91亚洲综合在线| 中文字幕一区二区免费在线| 岛国在线一区二区三区| 天美传媒在线一区| 高清一区AV无码| 婷婷情色综合网| 久久久亚洲精品中文字幕人妻| 欧美激情另类一区二区| 情色五月天久久久| 麻豆三极片| 长长久久88视频| 亚洲玖玖爱| 久久久久久久久成人av解说| 亚州欧美一区| 国产高清成人传媒影视| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 九九久久一区二区伦理| 色老久久| 岛国精品视频在线观看| 欧美se综合| 日本污ww视频网站| 亚洲综合伊人无码久久| 丰满人妻一区二区三区免费,| 大香蕉2017| 亚洲九月丁香| 啪啪啪亚欧美视频| 国产精品肉丝自拍| 无码天天操| 亚洲欧美日韩中文久久自慰| 久久久久九九九| 疯操AV| 午夜婷婷| 人人操人人色网| 熟女一区二区| 懂色av色欲av蜜臀av| 亚码人妻| 99久久网站| 亚洲一区二区AV| 日韩在线视频1234| 欧美黄色片在线播放| 中文字幕综合人妻| 亚洲人妻在线一区| 超碰碰小说97| 一二三区在线| 色牛aV| 日日夜夜骚| 为用户提供免费看黄网址在线观看| 99久久久无码| 激情国产乱伦Av| 欲色啪| 国产欧美一级在线观看| 91色射| 996热| 97手机日韩| 色九月综合| 浪人综合网| 国产精品白丝AV| 婷婷色综合| 国产视频人人网| 日韩人妻精品中文字幕| 久久精品三级影视| 亚洲日韩国产精品| 亚洲国产青青| 你操综合| 亚洲伊人a线观看视频| 劲爆欧美人妖三区91| 1024人妻| 精品高清av中文字幕| 色超碰综合| 蜜臀一区二区三区在线| 啊啊啊在线观看免费视频| 久久久久久人体| 亚洲男人的天堂一区二区| 亚洲一区日韩精品| 啊啊啊啊,啊啊好多水| 99久久这里只有精品| 国产精品原创巨作?v网站| 大香蕉99re| 久久精品亚洲东京热色播| 亚洲精品第一| 欧美一区二区男人天堂| 色欧美色交综合| 亚洲……91| 久久精品国产亚洲5555| 97 国产精品| 在线啊啊啊啊| 青青草天天亲夜夜操网| 国产精品分类在线观看| sewuyueav| 综合激情一一91| 97超碰美国| 亚洲av影音先锋| 激情小说在线视频| 超碰导航97| 欧美少妇性乱| 久久人妻四季| 日韩黄色成人性爱| 久久精品国产亚洲AV高级北京| 蜜臀久久99精品久久久| 国产精品午夜福利| WWW美腿丝袜香蕉中文| 伊人97色天使| 五月丁香色情| 久久免费精品视频免一| 中文字幕高清精品一区| 91老熟女视频| 激情在线青青操| 国产精品久久久久久夜夜夜夜| 午夜福利区| 思思热在线观看| 殴美在线AⅤ| 国产精品精品系列在线观看| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲中文字幕精品久久久久久直播| 免费福利视频中文字幕| 欧美大波激情xxxx| 天天草夜夜草高潮片| 91久久| 天天干人人乐| 国产97亚洲| 国产三级片在线观看| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 超碰在线97国产| www老逼91| 高凊专区人人操| 欧美综合自拍成人自拍第二十页| 国内毛片免费h片在线| 韩国成人精品久久久免费看| 九九九九九精品视频| 亚洲Av噜噜一区二区三区妖精| 亚州操操穴网| 屌妞视频久久久久久久久久久久| 丰满搜索结果 -第18页- 久久高清无码| 国产原创精品| 少妇天堂网络| 九九夜精品九九在线| 亚洲美女精品| 老司机午夜福利视频一区二区| 97超碰免费人人性爱| 性老妇一区二区三区| 久久25| 五月天伊人| 精品96久久| 一区,二区,三区视频| 97国产色图| 美女丝袜激情小说| 日韩欧美中文字幕搭讪巨乳美人妻视频| 日韩专区久久久| 日韩人妻无码不卡网站| 国产精品免费久久久久久久久久| 激情五月天中文字幕色| 丁香六月东京热| 婷婷中文网| 一区二区三区视频国产免费| 校园春色 男人天堂| 日韩在线AB| 久草资源欧美在线视频| 丝袜美腿操av| 亚洲国产成人综合碰碰三级经典| 最新av中文字幕高清| 波多野42部无码喷潮在线观看| www.91理论| 搡老熟女老女人老熟妇免费视频| 欧美少妇第一页| 欧美性Fer办公室秘书| 九九九九一区| 亚洲精品乱码线路中文字幕| 91丨九色丨熟女高潮| 欧美色图天堂网m| 加勒比五月天| 九九九精品| 国产欧美一级在线观看| 国模限制级电影| 九九九精品一区二区无码| 九九热精品视频六| 翔田千里Av在线| 国产精品亚洲免费| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 成人情色一区二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲se91| 干干干天天| 五月天亚洲色图| 黄色操人| 粉嫩久久久极品| 快点操死我| 国产中文精品一区二区在线观看 | 日韩精品-原创伙伴| 久久伊人在线五区| 日韩偷拍色图| 五月丁香啪| av在线不卡一区二区三区| 天堂性色| 一本大道久| 国产精品欧美在线观看| 欧美一级黄片视频在线| 亚州欧美总和| 久草尤物| 亚洲最新av无码成人精品区| 大学生美女口爆| 东京热,男人的天堂| 精品小视频在线| 日本不卡三级网在线播放| 超碰91在线| 超碰在线成人| 伊人五月天| 日本午夜福利影院| 岛园激情| 国产操逼逼网| 五月激情影院| 无码国产精品午夜不卡(| 欧美日韩香蕉| 欧美久久伊人| 久久综合激情| 国产欧美亚洲精品a第2页| 懂色av色欲av蜜臀av| 日本1区2区不卡视频| 色色毛片| 最近2018中文字幕在线高清第一页| 好湿好紧视频| 躁躁躁日日躁2020| 日韩小电影| 欧美人与动性人交a| 国产后入| 久久久久久亚洲中文| 黑人操一区二区| 欧美熟女操屄| 亚洲高清在线| 懂色AV中文| 超碰性爱97| 爱啪精品一区| 久久久久久久久久久久97| 三级色影综合网| 少妇综合网| wwwxxx日本爽| 久久久麻豆精品| 欧美99热| 久久爽爽精品| 精品在线78| 久久久久九九九| 韩国免费播放一级毛片| 黄色激情电影在线观看| 亚洲精品亚洲人成人网| 欧美亚洲国内自拍| 天天插天天操天天摸天天射天天看| 天天激色| 久久大黄片| 日韩一区二区三区四区五区| 亚洲性综合9| 美国久久一二三四| 91少妇高潮| 中文字幕三四区| 99久久e免费热视| 蜜臀少妇一区二区| 人妻少妇色综合| 夜夜欧美 | 久久国产精品91| 日韩不卡网操逼中文字幕日韩| 欧美综合制服在线| 七月婷婷综合| 亚洲欧洲日韩国产自在线| 四虎AV在线观看| 丝袜av一区二区三区| 清纯唯美第一页| 亚欧性爱无码| 日本曲间由美性生活片| 亚洲影视第一页| 丰满人妻一区二区三区色-百度| 18禁免费视频| 国产青视频| 东北熟女91| 欧美日韩操逼动图| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产乱青青草久久| 日韩综合成人免费视频| 日韩有码免费视频| 蜜臀在线看片| 脫衣舞一区二区三区| 日韩素人无码一区二区三区三州| 国内精品99999| A 在线网址| 久久一二区四| 男女无套 免费网站| 操99| 1204人成网站色www| 啪啪啪精品| 中文字幕日产av人| 国产精品欧美在线观看| 久久直播国产| 97超碰在线资源网站| 精品一区二区三区国产| 婷婷久草一区二区三区| 亚洲高清色综合| 97人人草| 99re视频在线播放青草| 国产亚洲在线| 97网色| 91GD.COM| juliaann丝袜| 九九精品美女高溯喷水| 日本精品五区| 亚洲色图 欧美热图 清纯唯美 另类自拍| 久操免费在线| 一区二区三区四区色图| 91内射| 蜜桃精品一区二区三区ww| 久久免费9| 爱射综合| 久久久久久久久久va| 久久亚洲不卡一区二区三区 | 欧美丰满熟妇XXXX性ppX人交| 东方亚洲在线操逼天堂| 97国产高清视频在线观看| 日本久久999| 韩国一级做A片免费的| 变态另类专区| 精品国产嫩穴视频| 在线播放免费av福利片| 美女91av| 狠狠穞A片一區二區三區| 欧美亚洲综合高清在线| 一及黄久一点| 秋霞免费AV| 欧美双插| 精品国产乱码久久久兰草影视| 亚洲av国产av综合av卡| 国产高清自拍视频| 欧洲中文字幕| AV污污污污| 天天久久久久久| 国产不卡片| 精品成人亚洲午夜电影| 激情婷婷丁香网| 中文高清一区二区的| 操逼逼一区视频| 亚洲s色图| 久久秀这里有精品| av强奸乱轮| 久久9免费视频| 精品无码一区二区| 韩国三级理论在线| 国产品精品自在在线午夜免费| 伊人一区二区三区| 七久久久| 超碰成人公开| 中文字幕97| 美女91色黄18| 亚洲 中文 女同| 影音先锋视频在线| 狠狠超| 欧亚成人在线视频| 日韩人妻操B| 亚欧高清v| 18禁看网站一区| 97鸡把在线视频| 蜜臀AV成人精品蜜臀| 亚洲精品99| 波多野结衣一级视频| 色欲av国内精品久久久久久| 97超碰这里只有精品| 九九热精品| 欧美强奸乱| 成 人 A V免费视频在线观看| 2003天天干夜夜操| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 观看视频图片一区二区三区| 99久久综合| 操操逼操操逼操操逼逼| 91av一区二区在线观看| 99婷婷一区二区| 久久香蕉国产线看观看亚洲女人 | 国产操逼逼网| 乱操乱伦AV| 超碰九区| 亚洲情色 自拍| 精品久久久一本一道| 麻豆精品天美| 国产午夜视频| 欧美亚洲第1页| 精品久久久av| 清清一区二区三区四区不卡视频| 男人天堂一区二区| 午夜大香蕉| 秋霞一级A片黄色视频| 综合影院永久入口国产| 翔田千里A片一区二区| 东京热双插| 青青青在线高清视频在线一二三四区 | 天天视频综合在线观看视频| 亚洲乱码国产乱码精网站| 欧美一级美片在线观看免费| 亚洲欧美综合| 日韩免费一级性爱视频| 久久精品日韩| 艹精品| 成人激情无码在线视频| 亚洲五码一区二区三区| 国产免费久久久久| 男人夜色天堂ss| 国模限制级电影| 久久久9品一区二区三区| 夜夜夜爽www精品视频| 韩国毛片一区二区三区| 蜜桃香蕉久草精品在线| 国产区在线| 欧美78P| 国产自制av蜜乳| 国产精品高潮呻吟av久久4虎| 波多野结衣AV无码一区| 国产黄色影片在线观看| 久久露脸国产老熟女| 91九色首页| 2020视频1区2区3区| AV天堂电影网| 亚洲国产中文字幕| 中文字幕乱码在线观看| 久久久九九九| 色婷婷视频| 亚洲中文字幕噜噜噜久久久| 麻豆AV一区二区| 亚洲人码13| 日韩欧视频| 中文字幕高清精品一区| 免费中文在线| 久久久久久亚洲精品中文字幕人妻| 亚洲综合99999| 另类成人首页一区| 91美女视频在线观看| 免费日韩黄片| 99综合网| 国产人妻一区二区三区欧美毛片| 欧美色91| 激情网色| 日韩AV电影网站| 成人精品一区二区三区| 风间由美日韩欧美久久| 久久精品久久久久久久久| 亚洲熟女av日韩熟女| 亚州精人品大香蕉| 黑人粗大V S日韩女优视频| 亚洲自拍97| 日日摸夜夜夜夜爽| 看看小穴| 国产风韵犹存熟妇三区| 另类图片欧美激情综合| 国产玖玖| 欧美日韩美女精品久草一区二区三区| 干超碰碰熟女| 六月激情网| www.av不卡中文字幕| 黄色免费一级在线毛片| 色色综合网站| 中出20p| 亚欧免费| 久久一二三级一一一| 日本一二三免费久久| 蜜桃视频成a人v在线| 日本一二区免费| 少妇的嫩逼图片| 欧美人妻久久精品二区三区| 国产精品天干天干综合网麻豆| 亚洲男人天堂av| 免费一级视频特黄色大片| 99只有精品| 手机在线中文字幕国产 | 天天射日日干| AV中文在线| 国产九九九九九九| 久久人人舔人人爽舔人人av片| 2019天天操天天爽天天拍| 97超碰超碰| 69超碰综合| 97网色| 日韩欧美视频青青| 91爱| 亚洲色图激情小说| 超碰午夜| 日韩天堂av电影在线观看 | 亚洲欧美激情另类色图| 丝袜AV一区二区三区| 欧美性生活综合| 精品一区二区三区蜜桃| 久久99精品视频| 一区二区三区麻豆| 天天综合亚在线| 色综合加勒比| 91性感在线| 久久婷婷伊人| 羞涩视频| 亚洲欧洲精品成人| 久久精品久久九九精品| 色香欲天天天天综合色| 日韩激情啪啪| 91久| 成人熟女视频一区二区三区| 日韩黄片视频试看| 伊人久久亚洲色欲综合网站| 91精品大奶人妻| 91精片| 国产福利夜| 先锋色眉乱伦资源| 九九九国产精品| 99这里只有精品| 亚欧免费观看视频| 97一区二区三区视频| 日韩性爱再线视频| 亚洲色图欧洲| 偷拍亚洲高清图片| 久久一区二区三区入口| 亚洲久久久| 99操| 五月丁香啪啪网| 欧美性爱精品七区| 啊啊啊好疼| 婷婷激情五月| 国产精品婬乱一级毛片彝族| 97在线播放| 99.色网| 国产黄色剧情影片麻豆免费播放| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产青一二三| 探花熟女,姿勢到位,體驗感也到位| 日韩av情韩国爱禁区av一区二区| 亚洲高潮少妇| 国产人伦a片信息免费片| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 9久超碰| 嗯啊视频免费在线观看| 97天天操| 四虎在线免费视频| 女人天堂AV五区在线| 人人操人人叉人人插人人| 亚洲精品少妇| 久久精品视| 亚洲AV无码| 婷婷综合网| 日韩操逼HD| 亚洲啪啪综合?v一区综合精品区| 精品免费成人久久| 国产美女精品| 内射白嫩美女| 五月婷婷六月天| 另类 日韩 熟女| 国产精品久久久久久亚洲色欲| 超碰精品97| 婷婷久草| 亚洲美女色图| www.97在线| 激情综合97| 探花激情视频| 国产亚洲美日韩Aⅴ中文字幕无码成人| 国产在线综合福利网站| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 精品在线78| 少妇99| 99热 按摩 日韩| 久久一区,青青青青草视频在线播放| 操逼日韩无码| 久久精品国产96精品亚洲拳交| 亚洲精品乱码线路中文字幕| 四虎国产精品永久在线囯在线| 999久久久国产精品| 五月婷婷青青草娱乐伊人| 囯产精品强| 伊人网在线观看| 亚洲男人天堂网久久| 少妇一区二区三区在线观看| 天美传媒国产原创中文字幕亚洲欧美另类 | 亚洲在线a| 日韩免费av片高清无码| 国产精品久久久久久久久久久久| 熟女少妇一区二区三区| 欧成人在线| 九九九久久久W精品| 日韩精品 欧美激情| 精品丰满熟妇人妻一区| 亚洲中文sv| 少妇激情一区二区三区视频| 日产精品久久久一区二区| 人人妻人人爽| 五月天亚洲色图| 夜色91| 欧美碰碰综合色| 久久大黄片| 免费岛国一级片| а√天堂资源官网在线资源| 中文字幕国产| 国产AV久久野战精品| 99久久精品无码一区二区| 免费看日产一区二区三区| 久操精品网| 丁香六月啪啪| 大香蕉在线视频重口味毛片在线| 午夜欧美神马久久久久| 伊人aaa| 综合亚洲网| 17c嫩草51久久91嫩草| 人妻干天天| 久精品无码av一区二免费国产在线观看| www网站黄| 女人爽到高潮久久久| 亚洲97p| 91在线国产后入风骚翘臀美女素人| 俺也射| 中文字幕欧美日韩三级| 国产成人无码a| 亚洲制服欧美另类内射| 五月天激情网图片| 国产精品午夜成人福利| 97爱碰| 久久久久久久久久9| 国产AAAAAABBBBB| 午夜爽爽爽在线观看永久入口姬片| 亚洲欧洲国产综合av| 国产呦精品一区二区三区下载| 五月婷在线| caopeng97人妻| 老司机午夜精品福利视频一区二区| 激情婷婷黑人91| a啊啊啊啊啊啊啊啊一区二区| 国产一区二区三区高清视频| 亚洲一区二区精品福利| 天天欧美欧美亚洲网| 欧美亚州色的图| 国产精品久久久久久久无码AV| 色yeye成人免费视频| 欧美色棕合| 国产成人啪一区二区| 操操操五月天婷婷丁香影院| 免费黄色片子| 亚洲一区二区 麻豆传媒| 精品人妻一区二区三区不卡断 | 久久东京热久久| 欧美另类综合久久| 小草三级久久观看| 亚洲欧美清纯| 美国一区二区三区视频| 欧美日不卡| 日韩97在线| 久久精品店| 爽爽爽免费视频| 亚洲在线| 玖玖色综合| 夜夜爽夜夜摸夜夜操免费视频| 午夜亚洲国产理论秋霞| 人妻久热在线| 久久久久久九九九九九九| 成人一级性爱| 日本天天人人狠狠在线日美女 | 日本中文字幕熟妇| 韩国一级婬片A片无码天美| 十八禁网站在线| 91性网| 日本久久天堂| 91欧美情色| 日韩精品在线观看网站| 亚洲欧洲无码一区夜| 三级AV入口| 2019天天操天天爽天天拍| 精品高潮| 久久色激情一区二区三区| 国产午夜精品一区二区三区牛牛| 日韩在线性爱免费视频| 麻豆一区二区三区精品| 美日韩男女操屄视频| 禁止观看美女黄| 精品午夜福利| 亚洲精品视频二区| 欧美极品美女aaaaaa级黄片| 97舔舔| 亚洲无992tv| 日本熟妇熟色97一本在线观看| 麻豆成人AV| 九色97| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 粉嫩在线一区二区懂色| 美女十八禁| 综合色久| 国产精品诱惑| 国产美女91视频| 国产午夜在线观看视频| 四虎视频在线观看| 丝袜美腿制服人妻二区中文字幕| 欧美亚州色的图| 免费看国产曰批40分钟怎么下载| 男人天堂 天天射| 亚洲蜜桃V妇女| 91A欧美电影网站| 超碰久久性爱| 99re热有精品视频国产| 国内外毛片在线观看| 久久综合婷婷| 熟妇色99| 男人久久精品| 5278欧美一区二区三区| 欧美高清第一页| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 少妇色欲综合网2| 午夜天堂精品久久久久91| 99久久无码| 亚洲黄色网址| 日本综合久久| 国产又黄又粗又猛大片| 大香蕉琪琪日本女优不卡| 开心五月婷婷激情| 性爱视频免费网址| 蜜臀在线看片| 看看小穴| 亚洲天堂中文字| 加勒比综合88| 九九久久99| 成人26uuu| 蜜桃传媒视频第一区入口在线看| 色色色色色色色色色色色色色色综合| 18禁免费视频| JuliaAnnXXX888| 亚洲自拍欧美国产首页网曝| 欧美日韩999| 无码人妻一区二区三区色欲aⅴ| 狠操91,com| 麻豆精品久久久久久久| 久久人人爽爽人人爽人人片αV| 欧美天天搞| 都市激情人妻一区二区青青操视频| 六十路日本| 久久九九视频九九视频| 夜夜精品视频| 新怡红院| 九九九九九用不成了| 国产玖玖| 人妻22p| 久久美女国产| 台湾一区国产高清在线| 漂亮人妻被强中文字幕hd| 岛国人妻少妇av在线观看| 婷婷午夜| 五月天激情网图片| 色网站导航大全| 久久久91| 午夜欧美J进J出白浆流出久久久| 九九黄色网| 久操网无码在线| 一级黄色性爱裸体视频| 传媒在线观看一区二区三区| 日本一二区免费| 91色色色| 特级丰满少妇一级AAAA爱毛片| 久热影视| 欧美乱伦专区| 91丨人妻丨国产丨丝袜| 99超碰网| 熟女露脸激情自拍视频| 鸥美极品| 最新中文字幕av| 欧美性,色九九| 国色天香av| 欧美日韩精品一区二区三区高清| 国产AV色黄看到爽| 肉动漫无遮挡h在线观看| 大香蕉久久| 亚洲欧美在线丝袜| 91电影色诱| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 操迟操逼在巾线Fre看| 老熟妇乱轮| 视频二区美腿制服人妻欧美| 欧洲精品区| 亚洲宗合网| 国产诱惑| 中文字幕免费看| 疯操AV| 人妻精品一区一区三区蜜桃91| 欧美在线中M| 人澡逼| 少好三P| 97鸡把在线视频| 97色操| 9999久久久久| 热久久无毒不卡| 欧美综合传媒| 亚洲天堂资源在线| 日韩无码一区二区三区| 天天看天天日| 国产精品无码成人精品| 丁香六月激情| 日韩无码黄色片| 高潮毛片无遮挡高清免费| 在线欧美69V免费观看视频| 操操操日本的逼| 婷婷丁香五月激情啪啪| 色色色99| 久久国产精品91| 91色黑人少妇| 欧美色日本| 老鸭窝成人| 96麻豆精品一区二区三区| 超碰精品国产无码| 国产精品久久久久久照片| 强奸乱伦αv片| 99热精品在线观看| 天天欧美色| 人妻 制服 日韩 中文 在线| 精品中文日韩字幕视频| 国内毛片四区| 小说区 图片区色 综合区| 97在线精品观看视频| 国产精品麻豆视频网站| 国产精品99久久久www| 色噜噜国产在线| jiujiujiujingpin| 97精品在线视频| 九九九精品成人免费视频小说| 色综合久| 天天操天天射青青草| 日韩精品高清资源在线| 日本二区不卡| 精品国产av一区二区三区四区入口| 日韩欧美tv一区二区在线观看| 日本精品成人无码| 艳尻美人妻| 欧美色九九| 91人人| 免费观看啪视频| 人妻精品4K4K4K4K4| AV中文字幕三四五| 无码一区二区精品视频久久久春药 | 中国zzijzzijzzwww精品| 91操碰| 智利AV在线网| 亚洲欧美色图| 国产毛片久久久久久久| 操狠狠| 精品制服美女中文一区二区三区| 亚洲无码超碰免费| 伊人久久婷婷| 伦理日韩国产久久| 高清孕妇孕交| 性爱视频久久| 亚洲综合草草| 午夜精品五区| 爱欲AV| 男女啪啪网站免费视频| 女人高潮抽搐喷水视频网站| 日本天天操| 欧美日综合| 国产一级不卡在线观看| 欧美色图天堂网m| 成人性交午夜免费片| 国产 日韩 另类 视频一区爱| 久久超碰97中文字幕| 最新无码国产| 中文字幕在线观看丝袜| 亚洲成人帖图| 免费啪啪一级视频| 久久综合精品一区二区三区| 久久久久久综合久久伊人蜜月| 中文字幕AV乱伦| 色盈盈影院| 久久这里只有精品9| 亚洲天堂综合AV| www.久久超碰| 久久亚洲婷婷| 97在线观看免费| A片三级无码| WWW.加勒比人妻一区不卡.com| a'v在线资源| 国产原创自拍| 欲香欲色综合天天伊人| 亚洲图片偷拍视频区| 精品丰满熟妇人妻一区| 最近2019中文字幕国语免费版| 久久人妻无码毛片A片麻豆| 色y情视频免费看| 久久综合超碰| 天天操人人操狠狠插| 日本黄色裸日本黄色裸体 | 欧美国产成人在线| 无码不卡亚洲成?人片| 97中文天堂| 97超碰站| 丝袜综合色图| 中文字幕精品一区二区精| 亚州中文字幕超碰97| 国产97视频免费观看| 中文字幕精品专区搜索结果91| 日韩精品中文字幕二区| 欧美久久人体| 射 色综合| 伊人国产成人av网站| 日日骚 av| 人人艹亚洲| 91痴汉| 看日韩美女二区三区免费操逼视频| 狠狠操狠狠操操| 青青草吊丝| 国产精品无码论坛| 九九九国产精品| 久久久999网站| 欧美爱三级日韩久久| 国产精品久久久久999| 国人欧美精品一区二区| 丰满人妻一区二区三区免费| 性感女人网页在线观看视频| 九九精品99| 嗯~啊~轻一点 视频| 久久免费老司机精品| 狠狠色伊人亚洲综合网站色| 欧美高潮| 性爱久久| 天天日天天搞天天干| 天堂日本亚洲欧美| 日本性感人妻91| 欧美玖玖爱免费玖玖| 嗯嗯啊啊视频在线看| 欧美的性爱网站免费| 偷拍亚洲情色| 无码直播久久久| 夜夜青青无码影院| 日韩不卡在线一区二区| 天堂亚洲精品| 超碰1024久久| 搞中出久久| 欧美高清16| 成人A片男人的天堂| 免费综合亚洲中文| 99久久精品国产系列| 日本 情色 1区2区3区| 亚洲欧美日韩精品久久久一区二区| 久久精品超碰| 神马久久久久眼| 91精品人妻电影| 狠狠91| 97在线观看免费| 96AV久久久| 亚洲色图91欧美日韩| 伊人天天久久动态图| 丝袜美腿丝袜| 国产精品制服丝袜中文字幕日韩一区二区三区 | 亚洲资源站| 日夜尻逼网| 性生活无遮挡纯毛片在线看| 人妻天天操天天爽视频免费| 欧美日韩国产中文精品字幕自在自线 | 日本一级特级毛片视频| 视频二区熟女人妻| 九X超碰| 逼逼逼逼操操操操操操操操操午夜剧场| 国产精品69久久久久久久| 成人女人国产| 91 丝袜在线| 免費黃色視頻觀看一| 自拍偷拍国产欧美日韩韩| 国产成人在线观看网址| 久久激情四射婷婷丁香五月天| 午夜福利在线合集| 无码一区二区三区四区五区六区七区八区九区十区视频 | 97内射偷拍| 伊人AAA| 欧美亚洲中文字幕| 日韩激情中文字幕有码| 无码免费在线观看黄色片| 狠狠爱大香蕉| 美女十八禁| 欧美激情内射| 九九超碰综合网| 国产一区二区久久| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 强奸熟女一区二区三区| 丝袜喷水在线| 久久97资源 网| 亚洲天堂色图| 久久久久成人蜜桃精品| 婷婷久久综合久| 日韩三四五区| 在线观看日韩av不卡| 深夜国产一区二区三区在线看| 福利伊人玖玖国产|