|
| 1 | +<?xml version="1.0" encoding="iso-8859-1"?> |
| 2 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| 3 | + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 4 | +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> |
| 5 | +<head> |
| 6 | +<title>Cmake Build Guide For GridDB Python Client</title> |
| 7 | +<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/> |
| 8 | +<meta name="title" content="Cmake Build Guide For GridDB Python Client"/> |
| 9 | +<meta name="generator" content="Org-mode"/> |
| 10 | +<meta name="generated" content="2019-08-26T10:58+0900"/> |
| 11 | +<meta name="author" content=""/> |
| 12 | +<meta name="description" content=""/> |
| 13 | +<meta name="keywords" content=""/> |
| 14 | +<style type="text/css"> |
| 15 | + <!--/*--><![CDATA[/*><!--*/ |
| 16 | + html { font-family: Helvetica; font-size: 12pt; } |
| 17 | + .title { text-align: center; } |
| 18 | + .todo { color: red; } |
| 19 | + .done { color: green; } |
| 20 | + .tag { background-color: #add8e6; font-weight:normal } |
| 21 | + .target { } |
| 22 | + .timestamp { color: #bebebe; } |
| 23 | + .timestamp-kwd { color: #5f9ea0; } |
| 24 | + p.verse { margin-left: 3% } |
| 25 | + pre { |
| 26 | + border: 1pt solid #AEBDCC; |
| 27 | + background-color: #F3F5F7; |
| 28 | + padding: 5pt; |
| 29 | + font-family: Courier New, Courier, monospace; |
| 30 | + font-size: 90%; |
| 31 | + overflow:auto; |
| 32 | + } |
| 33 | + table { border-collapse: collapse; } |
| 34 | + td, th { vertical-align: top; } |
| 35 | + dt { font-weight: bold; } |
| 36 | + div.figure { padding: 0.5em; } |
| 37 | + div.figure p { text-align: center; } |
| 38 | + .linenr { font-size:smaller } |
| 39 | + .code-highlighted {background-color:#ffff00;} |
| 40 | + .org-info-js_info-navigation { border-style:none; } |
| 41 | + #org-info-js_console-label { font-size:10px; font-weight:bold; |
| 42 | + white-space:nowrap; } |
| 43 | + .org-info-js_search-highlight {background-color:#ffff00; color:#000000; |
| 44 | + font-weight:bold; } |
| 45 | + del { color: gray; } |
| 46 | + /*]]>*/--> |
| 47 | + </style> |
| 48 | +<STYLE type="text/css"> |
| 49 | +<!- |
| 50 | +.break { page-break-before: always; } |
| 51 | +--> |
| 52 | +</STYLE> |
| 53 | +<script type="text/javascript"> |
| 54 | +/* |
| 55 | +@licstart The following is the entire license notice for the |
| 56 | +JavaScript code in this tag. |
| 57 | +
|
| 58 | +Copyright (C) 2012-2013 Free Software Foundation, Inc. |
| 59 | +
|
| 60 | +The JavaScript code in this tag is free software: you can |
| 61 | +redistribute it and/or modify it under the terms of the GNU |
| 62 | +General Public License (GNU GPL) as published by the Free Software |
| 63 | +Foundation, either version 3 of the License, or (at your option) |
| 64 | +any later version. The code is distributed WITHOUT ANY WARRANTY; |
| 65 | +without even the implied warranty of MERCHANTABILITY or FITNESS |
| 66 | +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. |
| 67 | +
|
| 68 | +As additional permission under GNU GPL version 3 section 7, you |
| 69 | +may distribute non-source (e.g., minimized or compacted) forms of |
| 70 | +that code without the copy of the GNU GPL normally required by |
| 71 | +section 4, provided you include this license notice and a URL |
| 72 | +through which recipients can access the Corresponding Source. |
| 73 | +
|
| 74 | +
|
| 75 | +@licend The above is the entire license notice |
| 76 | +for the JavaScript code in this tag. |
| 77 | +*/ |
| 78 | +<!--/*--><![CDATA[/*><!--*/ |
| 79 | + function CodeHighlightOn(elem, id) |
| 80 | + { |
| 81 | + var target = document.getElementById(id); |
| 82 | + if(null != target) { |
| 83 | + elem.cacheClassElem = elem.className; |
| 84 | + elem.cacheClassTarget = target.className; |
| 85 | + target.className = "code-highlighted"; |
| 86 | + elem.className = "code-highlighted"; |
| 87 | + } |
| 88 | + } |
| 89 | + function CodeHighlightOff(elem, id) |
| 90 | + { |
| 91 | + var target = document.getElementById(id); |
| 92 | + if(elem.cacheClassElem) |
| 93 | + elem.className = elem.cacheClassElem; |
| 94 | + if(elem.cacheClassTarget) |
| 95 | + target.className = elem.cacheClassTarget; |
| 96 | + } |
| 97 | +/*]]>*///--> |
| 98 | +</script> |
| 99 | + |
| 100 | +</head> |
| 101 | +<body> |
| 102 | + |
| 103 | +<div id="preamble"> |
| 104 | + |
| 105 | +</div> |
| 106 | + |
| 107 | +<div id="content"> |
| 108 | +<h1 class="title">Cmake Build Guide For GridDB Python Client</h1> |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | +<div id="table-of-contents"> |
| 114 | +<h2>Table of Contents</h2> |
| 115 | +<div id="text-table-of-contents"> |
| 116 | +<ul> |
| 117 | +<li><a href="#sec-1">1 Building the GridDB python client</a> |
| 118 | +<ul> |
| 119 | +<li><a href="#sec-1-1">1.1 Confirming the environment</a></li> |
| 120 | +<li><a href="#sec-1-2">1.2 Required software to build GridDB python client</a></li> |
| 121 | +<li><a href="#sec-1-3">1.3 Installing required software</a> |
| 122 | +<ul> |
| 123 | +<li><a href="#sec-1-3-1">1.3.1 Install cmake</a></li> |
| 124 | +<li><a href="#sec-1-3-2">1.3.2 Install python</a></li> |
| 125 | +<li><a href="#sec-1-3-3">1.3.3 Install swig</a></li> |
| 126 | +<li><a href="#sec-1-3-4">1.3.4 Install GridDB C client</a></li> |
| 127 | +</ul> |
| 128 | +</li> |
| 129 | +<li><a href="#sec-1-4">1.4 Building GridDB python client</a> |
| 130 | +<ul> |
| 131 | +<li><a href="#sec-1-4-1">1.4.1 Generate standard build files from cmake</a></li> |
| 132 | +<li><a href="#sec-1-4-2">1.4.2 Build python client</a></li> |
| 133 | +</ul> |
| 134 | +</li> |
| 135 | +<li><a href="#sec-1-5">1.5 Run sample to check for building Python client</a></li> |
| 136 | +</ul> |
| 137 | +</li> |
| 138 | +</ul> |
| 139 | +</div> |
| 140 | +</div> |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | +<DIV class="break"></DIV><BR> |
| 146 | + |
| 147 | + |
| 148 | +<div id="outline-container-1" class="outline-2"> |
| 149 | +<h2 id="sec-1"><span class="section-number-2">1</span> Building the GridDB python client</h2> |
| 150 | +<div class="outline-text-2" id="text-1"> |
| 151 | + |
| 152 | + |
| 153 | +<p> |
| 154 | +This section shows how to build the GridDB python client on a single machine. |
| 155 | +</p> |
| 156 | + |
| 157 | +</div> |
| 158 | + |
| 159 | +<div id="outline-container-1-1" class="outline-3"> |
| 160 | +<h3 id="sec-1-1"><span class="section-number-3">1.1</span> Confirming the environment</h3> |
| 161 | +<div class="outline-text-3" id="text-1-1"> |
| 162 | + |
| 163 | + |
| 164 | +<p> |
| 165 | +Confirm that OS is Windows 10 64 bit |
| 166 | +</p> |
| 167 | +</div> |
| 168 | + |
| 169 | +</div> |
| 170 | + |
| 171 | +<div id="outline-container-1-2" class="outline-3"> |
| 172 | +<h3 id="sec-1-2"><span class="section-number-3">1.2</span> Required software to build GridDB python client</h3> |
| 173 | +<div class="outline-text-3" id="text-1-2"> |
| 174 | + |
| 175 | +<ul> |
| 176 | +<li>cmake: version 3.14.5 |
| 177 | +</li> |
| 178 | +<li>python: version 3.6.4 |
| 179 | +</li> |
| 180 | +<li>swig: version 3.0.12 |
| 181 | +</li> |
| 182 | +<li>GridDB C client: version 4.2.0 |
| 183 | +</li> |
| 184 | +</ul> |
| 185 | + |
| 186 | +<p>In order to build, we also need to install Visual Studio 2017 |
| 187 | +</p> |
| 188 | +</div> |
| 189 | + |
| 190 | +</div> |
| 191 | + |
| 192 | +<div id="outline-container-1-3" class="outline-3"> |
| 193 | +<h3 id="sec-1-3"><span class="section-number-3">1.3</span> Installing required software</h3> |
| 194 | +<div class="outline-text-3" id="text-1-3"> |
| 195 | + |
| 196 | + |
| 197 | +</div> |
| 198 | + |
| 199 | +<div id="outline-container-1-3-1" class="outline-4"> |
| 200 | +<h4 id="sec-1-3-1"><span class="section-number-4">1.3.1</span> Install cmake</h4> |
| 201 | +<div class="outline-text-4" id="text-1-3-1"> |
| 202 | + |
| 203 | +<ul> |
| 204 | +<li>Download zip package from <a href="https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-win64-x64.zip">https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-win64-x64.zip</a> |
| 205 | +</li> |
| 206 | +<li>Extract the zip package and get resource of cmake tool |
| 207 | +</li> |
| 208 | +</ul> |
| 209 | + |
| 210 | +</div> |
| 211 | + |
| 212 | +</div> |
| 213 | + |
| 214 | +<div id="outline-container-1-3-2" class="outline-4"> |
| 215 | +<h4 id="sec-1-3-2"><span class="section-number-4">1.3.2</span> Install python</h4> |
| 216 | +<div class="outline-text-4" id="text-1-3-2"> |
| 217 | + |
| 218 | +<ul> |
| 219 | +<li>Download and install python 3.6.4 from <a href="https://www.python.org/ftp/python/3.6.4/python-3.6.4-amd64.exe">https://www.python.org/ftp/python/3.6.4/python-3.6.4-amd64.exe</a> |
| 220 | +</li> |
| 221 | +<li>Set path for PYTHON_RESOURCE in <b>CmakeList.txt</b> |
| 222 | +</li> |
| 223 | +</ul> |
| 224 | + |
| 225 | + |
| 226 | + |
| 227 | + |
| 228 | +<pre class="example">set(PYTHON_RESOURCE C:/Users/username/AppData/Local/Programs/Python/Python36) |
| 229 | +</pre> |
| 230 | + |
| 231 | +</div> |
| 232 | + |
| 233 | +</div> |
| 234 | + |
| 235 | +<div id="outline-container-1-3-3" class="outline-4"> |
| 236 | +<h4 id="sec-1-3-3"><span class="section-number-4">1.3.3</span> Install swig</h4> |
| 237 | +<div class="outline-text-4" id="text-1-3-3"> |
| 238 | + |
| 239 | +<ul> |
| 240 | +<li>Download zip package from <a href="https://sourceforge.net/projects/swig/files/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip/download">https://sourceforge.net/projects/swig/files/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip/download</a> |
| 241 | +</li> |
| 242 | +<li>Extract the zip package then set path for SWIG_RESOURCE in <b>CmakeList.txt</b> |
| 243 | +</li> |
| 244 | +</ul> |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | + |
| 249 | +<pre class="example">set(SWIG_RESOURCE E:/swigwin-3.0.12) |
| 250 | +</pre> |
| 251 | + |
| 252 | +</div> |
| 253 | + |
| 254 | +</div> |
| 255 | + |
| 256 | +<div id="outline-container-1-3-4" class="outline-4"> |
| 257 | +<h4 id="sec-1-3-4"><span class="section-number-4">1.3.4</span> Install GridDB C client</h4> |
| 258 | +<div class="outline-text-4" id="text-1-3-4"> |
| 259 | + |
| 260 | +<ul> |
| 261 | +<li>Please refer to <a href="https://github.com/griddb/c_client">https://github.com/griddb/c\_client</a> to install GridDB C client. |
| 262 | +</li> |
| 263 | +<li>After installing GridDB C client, set path for C_LIB (path for gridstore_c.lib) and C_HEADER (path for gridstore.h) in <b>CmakeList.txt</b> |
| 264 | +</li> |
| 265 | +</ul> |
| 266 | + |
| 267 | + |
| 268 | + |
| 269 | + |
| 270 | +<pre class="example">set(C_LIB E:/c_client-master/bin/x64/Release) |
| 271 | +set(C_HEADER E:/c_client-master/client/c/include) |
| 272 | +</pre> |
| 273 | + |
| 274 | +</div> |
| 275 | +</div> |
| 276 | + |
| 277 | +</div> |
| 278 | + |
| 279 | +<div id="outline-container-1-4" class="outline-3"> |
| 280 | +<h3 id="sec-1-4"><span class="section-number-3">1.4</span> Building GridDB python client</h3> |
| 281 | +<div class="outline-text-3" id="text-1-4"> |
| 282 | + |
| 283 | +<p>Before building Griddb python client, please set link for SOURCE_HEADER (link to folder store cpp headers) in <b>CmakeList.txt</b> |
| 284 | +</p> |
| 285 | + |
| 286 | + |
| 287 | +<pre class="example">set(SOURCE_HEADER E:/SourceCode/src) |
| 288 | +</pre> |
| 289 | + |
| 290 | + |
| 291 | +</div> |
| 292 | + |
| 293 | +<div id="outline-container-1-4-1" class="outline-4"> |
| 294 | +<h4 id="sec-1-4-1"><span class="section-number-4">1.4.1</span> Generate standard build files from cmake</h4> |
| 295 | +<div class="outline-text-4" id="text-1-4-1"> |
| 296 | + |
| 297 | +<ul> |
| 298 | +<li>Open <PATH_TO_CMAKE>/cmake-3.14.5-win64-x64/bin/cmake-gui.exe |
| 299 | +</li> |
| 300 | +<li>Set link for <b>source code</b> in cmake gui: link to folder store <b>CmakeList.txt</b> |
| 301 | +</li> |
| 302 | +<li>Set link for <b>the binaries</b> in cmake gui: link to folder which generated files are store (sln file, py file) |
| 303 | +</li> |
| 304 | +<li>Run <b>Configure</b> with set <b>Specify the generator for this project</b> is <b>Visual Studio 15 2017</b>, and for <b>Optional toolset to use</b> is <b>x64</b> |
| 305 | +</li> |
| 306 | +<li>Run <b>Generate</b> to get standard build files |
| 307 | +</li> |
| 308 | +</ul> |
| 309 | + |
| 310 | +</div> |
| 311 | + |
| 312 | +</div> |
| 313 | + |
| 314 | +<div id="outline-container-1-4-2" class="outline-4"> |
| 315 | +<h4 id="sec-1-4-2"><span class="section-number-4">1.4.2</span> Build python client</h4> |
| 316 | +<div class="outline-text-4" id="text-1-4-2"> |
| 317 | + |
| 318 | +<ul> |
| 319 | +<li>Open <PATH_TO_OUTPUT_CMAKE>/griddb_python.sln by Visual Studio 2017 |
| 320 | +</li> |
| 321 | +<li>Build <b>griddb_python</b> project to get <b>_griddb_python.pyd</b> library and <b>griddb_python.py</b> interface |
| 322 | +</li> |
| 323 | +</ul> |
| 324 | + |
| 325 | +</div> |
| 326 | +</div> |
| 327 | + |
| 328 | +</div> |
| 329 | + |
| 330 | +<div id="outline-container-1-5" class="outline-3"> |
| 331 | +<h3 id="sec-1-5"><span class="section-number-3">1.5</span> Run sample to check for building Python client</h3> |
| 332 | +<div class="outline-text-3" id="text-1-5"> |
| 333 | + |
| 334 | +<ul> |
| 335 | +<li>Put <b>_griddb_python.pyd</b>, <b>gridstore_c.dll</b> libraries and <b>griddb_python.py</b> interface into folder store <b>sample1.py</b> |
| 336 | +</li> |
| 337 | +</ul> |
| 338 | + |
| 339 | + |
| 340 | + |
| 341 | + |
| 342 | +<pre class="example"><PATH_TO>/python.exe sample1.py 239.0.0.1 <port> <cluster> <username> <password> |
| 343 | +</pre> |
| 344 | + |
| 345 | + |
| 346 | +</div> |
| 347 | +</div> |
| 348 | +</div> |
| 349 | +</div> |
| 350 | + |
| 351 | +<div id="postamble"> |
| 352 | + |
| 353 | + |
| 354 | +</div> |
| 355 | +</body> |
| 356 | +</html> |
0 commit comments