Wiki

Version 275 (Paul Carensac, 03/24/2016 11:59 am)

1 1 Etienne Pallier
h1. Technical Documentation for the PYROS project (FGFT-CC)
2 1 Etienne Pallier
3 1 Etienne Pallier
4 1 Etienne Pallier
HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
5 1 Etienne Pallier
6 1 Etienne Pallier
{{>toc}}
7 1 Etienne Pallier
8 1 Etienne Pallier
9 121 Etienne Pallier
---
10 1 Etienne Pallier
11 121 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}I - TODO%
12 121 Etienne Pallier
13 273 Etienne Pallier
 * Mettre en place une collaboration via le gitlab
14 273 Etienne Pallier
15 251 Etienne Pallier
 * Séparation des BD Django et Pyros
16 1 Etienne Pallier
17 1 Etienne Pallier
 * Intégration des modules Django déjà développés
18 271 Etienne Pallier
19 271 Etienne Pallier
 * Intégration continue avec Jenkins (+ run des tests sur une VM Windows)
20 271 Etienne Pallier
21 272 Etienne Pallier
 * Planifier la suite...
22 272 Etienne Pallier
23 272 Etienne Pallier
 * Doc pour le meeting de mai
24 271 Etienne Pallier
 
25 125 Etienne Pallier
26 121 Etienne Pallier
27 3 Etienne Pallier
---
28 1 Etienne Pallier
29 140 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}I - DATABASE SCHEMA (v0.2.1)%
30 116 Etienne Pallier
31 116 Etienne Pallier
32 117 Etienne Pallier
{{thumbnail(PYROS_PDM_v021.png, size=300, title=Pyros data model)}}
33 121 Etienne Pallier
34 121 Etienne Pallier
35 121 Etienne Pallier
---
36 116 Etienne Pallier
37 141 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}II - Get the project (from gitlab)%
38 141 Etienne Pallier
39 253 Etienne Pallier
h3. Project structure
40 1 Etienne Pallier
41 253 Etienne Pallier
Once you have fetched the project, you should obtain this structure:
42 1 Etienne Pallier
43 226 Etienne Pallier
<pre>
44 1 Etienne Pallier
45 1 Etienne Pallier
PYROS/
46 254 Etienne Pallier
├── install/
47 254 Etienne Pallier
│   └── REQUIREMENTS.txt
48 254 Etienne Pallier
│   └── INSTALLATION.txt
49 226 Etienne Pallier
├── public/
50 226 Etienne Pallier
│   └── static/
51 226 Etienne Pallier
├── src/
52 226 Etienne Pallier
│   ├── manage.py
53 226 Etienne Pallier
│   ├── pyros/
54 226 Etienne Pallier
│   │   ├── __init__.py
55 226 Etienne Pallier
│   │   ├── __pycache__
56 226 Etienne Pallier
│   │   ├── settings.py
57 1 Etienne Pallier
│   │   ├── urls.py
58 1 Etienne Pallier
│   │   └── wsgi.py
59 1 Etienne Pallier
│   └── pyrosapp/
60 1 Etienne Pallier
│       ├── __init__.py
61 1 Etienne Pallier
│       ├── admin.py
62 1 Etienne Pallier
│       ├── apps.py
63 1 Etienne Pallier
│       ├── migrations
64 1 Etienne Pallier
│       ├── models.py
65 1 Etienne Pallier
│       ├── tests.py
66 1 Etienne Pallier
│       └── views.py
67 1 Etienne Pallier
68 1 Etienne Pallier
69 253 Etienne Pallier
</pre>
70 253 Etienne Pallier
71 265 Etienne Pallier
h3. From the terminal
72 253 Etienne Pallier
73 253 Etienne Pallier
<pre>
74 253 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/pyros.git PYROS
75 256 Etienne Pallier
(or also : git clone git@gitlab.irap.omp.eu:epallier/pyros.git PYROS)
76 253 Etienne Pallier
</pre>
77 255 Etienne Pallier
78 253 Etienne Pallier
This creates a PYROS/ folder containing the project (with a .git/ subfolder for synchronization with the git repository)
79 253 Etienne Pallier
80 257 Etienne Pallier
_If you just wanted a static copy of the project (without synchronization), just remove the .git/ folder:_
81 253 Etienne Pallier
<pre>
82 253 Etienne Pallier
$ rm -r .git/
83 253 Etienne Pallier
</pre>
84 226 Etienne Pallier
85 264 Etienne Pallier
h3. From Eclipse
86 1 Etienne Pallier
87 274 Paul Carensac
1) Deactivate CA certificate verification
88 1 Etienne Pallier
89 274 Paul Carensac
Window -> Preferences -> Team -> git -> configuration -> Add entry
90 274 Paul Carensac
91 274 Paul Carensac
Key = http.sslVerify
92 274 Paul Carensac
Value = false
93 274 Paul Carensac
94 274 Paul Carensac
2) Fetch the project
95 274 Paul Carensac
96 252 Etienne Pallier
File/Import project from git
97 1 Etienne Pallier
98 258 Etienne Pallier
Select repository source: Clone URI: https://gitlab.irap.omp.eu/epallier/pyros.git
99 252 Etienne Pallier
100 252 Etienne Pallier
Directory: 
101 252 Etienne Pallier
par défaut, il propose : /Users/epallier/git/pyros
102 258 Etienne Pallier
mais on peut le mettre ailleurs (c'est ce que j'ai fait)
103 252 Etienne Pallier
104 1 Etienne Pallier
initial branch: master
105 1 Etienne Pallier
remote name: origin
106 1 Etienne Pallier
107 252 Etienne Pallier
Import as general project
108 252 Etienne Pallier
109 252 Etienne Pallier
Project name: PYROS
110 1 Etienne Pallier
111 258 Etienne Pallier
112 274 Paul Carensac
3) Configure the project
113 258 Etienne Pallier
114 252 Etienne Pallier
The project is created. Now, you have to set it as a «PyDev » and a « Django » project.
115 252 Etienne Pallier
116 252 Etienne Pallier
clic droit sur le projet / PyDev / set as a PyDev project
117 252 Etienne Pallier
118 1 Etienne Pallier
clic droit sur le projet / PyDev / set as a Django project
119 1 Etienne Pallier
120 252 Etienne Pallier
clic droit sur le projet : on doit maintenant avoir un sous-menu Django
121 252 Etienne Pallier
122 252 Etienne Pallier
clic droit sur le dossier src / PyDev / set as source folder (add to PYTHONPATH)
123 252 Etienne Pallier
124 258 Etienne Pallier
clic droit sur projet / Properties / Pydev-Django :
125 252 Etienne Pallier
  - Django manage.py : src/manage.py
126 1 Etienne Pallier
  - Django settings module : pyros.settings
127 258 Etienne Pallier
128 258 Etienne Pallier
129 275 Paul Carensac
4) Set Code style
130 252 Etienne Pallier
131 252 Etienne Pallier
Window/Preferences : Pydev / Editor
132 252 Etienne Pallier
- Auto Imports : uncheck « Do auto import »
133 252 Etienne Pallier
- Code style:
134 252 Etienne Pallier
	- Locals … : camelCase
135 252 Etienne Pallier
	- Methods : camelCase() with first lower
136 1 Etienne Pallier
- Code style / Code Formatter: activer « use autopep8.py for code formatting »
137 264 Etienne Pallier
- Tabs : Tab length : 4
138 264 Etienne Pallier
139 264 Etienne Pallier
(il faudra aussi faire un peu plus loin : https://projects.irap.omp.eu/projects/pyros/wiki/Wiki#Eclipse-only-Set-the-Python3-virtual-environment-as-the-project-interpreter)
140 169 Etienne Pallier
141 141 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}III - INSTALLATION%
142 2 Etienne Pallier
143 120 Etienne Pallier
144 120 Etienne Pallier
---
145 120 Etienne Pallier
146 184 Etienne Pallier
h3. Install MySql (only if necessary)
147 2 Etienne Pallier
148 49 Etienne Pallier
 * Linux Ubuntu
149 49 Etienne Pallier
<pre>
150 107 Paul Carensac
151 107 Paul Carensac
$ sudo apt-get install mysql-server
152 107 Paul Carensac
$ sudo apt-get install mysql-client
153 107 Paul Carensac
154 49 Etienne Pallier
</pre>
155 49 Etienne Pallier
156 49 Etienne Pallier
 * Linux CentOS
157 49 Etienne Pallier
<pre>
158 49 Etienne Pallier
TODO:
159 49 Etienne Pallier
$ sudo yum install mysql
160 49 Etienne Pallier
...
161 49 Etienne Pallier
</pre>
162 49 Etienne Pallier
163 49 Etienne Pallier
 * Mac OS X
164 1 Etienne Pallier
Install XAMPP
165 1 Etienne Pallier
(but you could also use the pre-installed Mac OS MySql)
166 177 Etienne Pallier
<pre>
167 177 Etienne Pallier
TODO:
168 49 Etienne Pallier
</pre>
169 1 Etienne Pallier
170 49 Etienne Pallier
 * Windows
171 243 Paul Carensac
172 1 Etienne Pallier
<pre>
173 243 Paul Carensac
Download and install the newest version on https://dev.mysql.com/downloads/installer/
174 243 Paul Carensac
175 243 Paul Carensac
Once installed, launch MySQL Installer. Clic on 'Add...' on the right.
176 243 Paul Carensac
In MySQLServers section, choose the newest, then clic on next.
177 243 Paul Carensac
Install and configure the server (just follow the installation guide).
178 243 Paul Carensac
179 243 Paul Carensac
Then launch mysql (via the Windows menu).
180 49 Etienne Pallier
</pre>
181 49 Etienne Pallier
182 49 Etienne Pallier
183 49 Etienne Pallier
---
184 1 Etienne Pallier
185 185 Etienne Pallier
h3. Install Python3.5 (only if necessary)
186 1 Etienne Pallier
187 11 Etienne Pallier
188 11 Etienne Pallier
 * Mac OS X :
189 1 Etienne Pallier
<pre>
190 183 Etienne Pallier
191 24 Etienne Pallier
1) Installer MacPort
192 24 Etienne Pallier
(TODO: doc)
193 24 Etienne Pallier
194 24 Etienne Pallier
2) Installer le "port" python35
195 1 Etienne Pallier
$ sudo port install python35
196 183 Etienne Pallier
197 1 Etienne Pallier
</pre>
198 1 Etienne Pallier
199 1 Etienne Pallier
 * Linux (Ubuntu) :
200 1 Etienne Pallier
<pre>
201 244 Paul Carensac
$ sudo add-apt-repository ppa:fkrull/deadsnakes
202 244 Paul Carensac
$ sudo apt-get update
203 244 Paul Carensac
$ sudo apt-get install python3.5
204 1 Etienne Pallier
205 244 Paul Carensac
$ sudo pip install virtualenv
206 1 Etienne Pallier
</pre>
207 1 Etienne Pallier
208 244 Paul Carensac
209 244 Paul Carensac
 * Windows 7 :
210 244 Paul Carensac
<pre>
211 244 Paul Carensac
Go to https://www.python.org/downloads/windows/ , choose the wanted version
212 244 Paul Carensac
On the wanted version’s page, download Windows x86 executable installer
213 244 Paul Carensac
214 244 Paul Carensac
Run the executable
215 244 Paul Carensac
    * On the first page, check "Add python3.5 to PATH"
216 244 Paul Carensac
    * Choose "Install now" option
217 245 Paul Carensac
218 245 Paul Carensac
Open cmd (windows + R, cmd) :
219 245 Paul Carensac
 $ python -m pip install --upgrade pip
220 245 Paul Carensac
 $ pip install virtualenv
221 244 Paul Carensac
</pre>
222 1 Etienne Pallier
223 183 Etienne Pallier
 * Windows 10 :
224 183 Etienne Pallier
<pre>
225 187 Etienne Pallier
TODO:
226 183 Etienne Pallier
</pre>
227 3 Etienne Pallier
228 4 Etienne Pallier
---
229 5 Etienne Pallier
230 192 Etienne Pallier
h3. Create a Python3 virtual environment dedicated to the project (inside the project folder)
231 127 Etienne Pallier
232 131 Etienne Pallier
<pre>
233 1 Etienne Pallier
234 193 Etienne Pallier
$ mkdir private/
235 193 Etienne Pallier
236 133 Etienne Pallier
$ cd private/
237 3 Etienne Pallier
238 246 Paul Carensac
$ which python3.5 ("where python" for windows)
239 3 Etienne Pallier
/opt/local/bin/python3.5
240 15 Etienne Pallier
241 127 Etienne Pallier
$ virtualenv-3.5 venv_py35_pyros -p /opt/local/bin/python3.5
242 3 Etienne Pallier
=> creates a venv_py35_pyros/ folder inside PYROS/private/
243 1 Etienne Pallier
244 131 Etienne Pallier
</pre>
245 1 Etienne Pallier
246 7 Etienne Pallier
---
247 3 Etienne Pallier
248 65 Etienne Pallier
h3. Activate the python virtual environment (from inside the project)
249 7 Etienne Pallier
250 55 Etienne Pallier
<pre>
251 1 Etienne Pallier
252 65 Etienne Pallier
$ pwd
253 134 Etienne Pallier
.../PYROS/private
254 1 Etienne Pallier
255 247 Paul Carensac
$ source ./venv_py35_pyros/bin/activate (venv_py35_pyros/Scripts/activate on Windows)
256 247 Paul Carensac
257 65 Etienne Pallier
258 3 Etienne Pallier
$ python -V
259 1 Etienne Pallier
Python 3.5.1
260 3 Etienne Pallier
261 3 Etienne Pallier
$ which pip
262 77 Etienne Pallier
.../PYROS/venv_py35_pyros/bin/pip
263 16 Etienne Pallier
264 194 Etienne Pallier
Upgrade pip to last version available:
265 3 Etienne Pallier
$ pip install --upgrade pip
266 3 Etienne Pallier
Collecting pip
267 3 Etienne Pallier
  Downloading pip-8.1.1-py2.py3-none-any.whl (1.2MB)
268 3 Etienne Pallier
Installing collected packages: pip
269 3 Etienne Pallier
  Found existing installation: pip 7.1.2
270 3 Etienne Pallier
    Uninstalling pip-7.1.2:
271 3 Etienne Pallier
      Successfully uninstalled pip-7.1.2
272 1 Etienne Pallier
Successfully installed pip-8.1.1
273 194 Etienne Pallier
274 194 Etienne Pallier
Upgrade wheel to last version available:
275 194 Etienne Pallier
$ pip install --upgrade wheel
276 194 Etienne Pallier
Collecting wheel
277 194 Etienne Pallier
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
278 194 Etienne Pallier
Installing collected packages: wheel
279 194 Etienne Pallier
  Found existing installation: wheel 0.24.0
280 194 Etienne Pallier
    Uninstalling wheel-0.24.0:
281 194 Etienne Pallier
      Successfully uninstalled wheel-0.24.0
282 194 Etienne Pallier
Successfully installed wheel-0.29.0
283 194 Etienne Pallier
284 55 Etienne Pallier
285 55 Etienne Pallier
</pre>
286 18 Etienne Pallier
287 267 Etienne Pallier
---
288 267 Etienne Pallier
289 212 Etienne Pallier
h3. Install the needed Python packages (from within the virtual environment)
290 18 Etienne Pallier
291 66 Etienne Pallier
First, be sure that the virtual environment is activated:
292 66 Etienne Pallier
<pre>
293 66 Etienne Pallier
$ python -V
294 66 Etienne Pallier
Python 3.5.1
295 66 Etienne Pallier
</pre>
296 66 Etienne Pallier
297 62 Etienne Pallier
 * *Automatic Installation of all packages*
298 62 Etienne Pallier
<pre>
299 90 Etienne Pallier
$ pip install -r REQUIREMENTS.txt
300 62 Etienne Pallier
</pre>
301 62 Etienne Pallier
302 93 Etienne Pallier
 * *Or, manual installation of each package*
303 62 Etienne Pallier
304 62 Etienne Pallier
  * *Install Django* :
305 32 Etienne Pallier
<pre>
306 3 Etienne Pallier
$ pip install django
307 3 Etienne Pallier
Collecting django
308 3 Etienne Pallier
  Downloading Django-1.9.4-py2.py3-none-any.whl (6.6MB)
309 3 Etienne Pallier
Installing collected packages: django
310 3 Etienne Pallier
Successfully installed django-1.9.4
311 3 Etienne Pallier
312 3 Etienne Pallier
$ pip install django-admin-tools
313 3 Etienne Pallier
Collecting django-admin-tools
314 3 Etienne Pallier
  Downloading django_admin_tools-0.7.2-py2.py3-none-any.whl (289kB)
315 3 Etienne Pallier
Installing collected packages: django-admin-tools
316 3 Etienne Pallier
Successfully installed django-admin-tools-0.7.2
317 3 Etienne Pallier
318 21 Etienne Pallier
$ pip install django-debug-toolbar
319 21 Etienne Pallier
Collecting django-debug-toolbar
320 21 Etienne Pallier
  Downloading django_debug_toolbar-1.4-py2.py3-none-any.whl (212kB)
321 21 Etienne Pallier
Requirement already satisfied (use --upgrade to upgrade): Django>=1.7 in ./venv_py35_pyros/lib/python3.5/site-packages (from django-debug-toolbar)
322 21 Etienne Pallier
Collecting sqlparse (from django-debug-toolbar)
323 21 Etienne Pallier
  Downloading sqlparse-0.1.19.tar.gz (58kB)
324 21 Etienne Pallier
Building wheels for collected packages: sqlparse
325 21 Etienne Pallier
  Running setup.py bdist_wheel for sqlparse ... done
326 21 Etienne Pallier
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/7b/d4/72/6011bb100dd5fc213164e4bbee13d4e03261dd54ce6a5de6b8
327 21 Etienne Pallier
Successfully built sqlparse
328 21 Etienne Pallier
Installing collected packages: sqlparse, django-debug-toolbar
329 21 Etienne Pallier
Successfully installed django-debug-toolbar-1.4 sqlparse-0.1.19
330 21 Etienne Pallier
331 21 Etienne Pallier
$ pip install django-extensions
332 21 Etienne Pallier
Collecting django-extensions
333 21 Etienne Pallier
  Downloading django_extensions-1.6.1-py2.py3-none-any.whl (202kB)
334 21 Etienne Pallier
Collecting six>=1.2 (from django-extensions)
335 21 Etienne Pallier
  Downloading six-1.10.0-py2.py3-none-any.whl
336 21 Etienne Pallier
Installing collected packages: six, django-extensions
337 21 Etienne Pallier
Successfully installed django-extensions-1.6.1 six-1.10.0
338 21 Etienne Pallier
339 21 Etienne Pallier
$ pip install django-suit
340 21 Etienne Pallier
Collecting django-suit
341 21 Etienne Pallier
  Downloading django-suit-0.2.18.tar.gz (587kB)
342 21 Etienne Pallier
Building wheels for collected packages: django-suit
343 1 Etienne Pallier
  Running setup.py bdist_wheel for django-suit ... done
344 1 Etienne Pallier
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/12/8b/9a/e02ab0ad9229881638aa040d47d77c8f562999533811927d41
345 1 Etienne Pallier
Successfully built django-suit
346 1 Etienne Pallier
Installing collected packages: django-suit
347 1 Etienne Pallier
Successfully installed django-suit-0.2.18
348 21 Etienne Pallier
349 32 Etienne Pallier
</pre>
350 32 Etienne Pallier
351 63 Etienne Pallier
  * *Install the web application server gunicorn (will be used in production instead of the dev django web server)* :
352 32 Etienne Pallier
<pre>
353 25 Etienne Pallier
$ pip install gunicorn
354 25 Etienne Pallier
Collecting gunicorn
355 25 Etienne Pallier
  Downloading gunicorn-19.4.5-py2.py3-none-any.whl (112kB)
356 21 Etienne Pallier
Installing collected packages: gunicorn
357 26 Etienne Pallier
Successfully installed gunicorn-19.4.5
358 1 Etienne Pallier
</pre>
359 1 Etienne Pallier
360 63 Etienne Pallier
  * *Install the python mysql client*:
361 32 Etienne Pallier
<pre>
362 32 Etienne Pallier
$ pip install mysqlclient
363 72 Etienne Pallier
...
364 72 Etienne Pallier
</pre>
365 33 Etienne Pallier
366 73 Etienne Pallier
   * => Issue under Mac OS X:
367 72 Etienne Pallier
<pre>
368 3 Etienne Pallier
$ pip install mysqlclient
369 3 Etienne Pallier
Collecting mysqlclient
370 1 Etienne Pallier
  Downloading mysqlclient-1.3.7.tar.gz (79kB)
371 22 Etienne Pallier
Building wheels for collected packages: mysqlclient
372 3 Etienne Pallier
  Running setup.py bdist_wheel for mysqlclient ... error
373 3 Etienne Pallier
374 1 Etienne Pallier
  ----------------------------------------
375 1 Etienne Pallier
  Failed building wheel for mysqlclient
376 1 Etienne Pallier
  Running setup.py clean for mysqlclient
377 1 Etienne Pallier
Failed to build mysqlclient
378 1 Etienne Pallier
Installing collected packages: mysqlclient
379 1 Etienne Pallier
  Running setup.py install for mysqlclient ... done
380 1 Etienne Pallier
Successfully installed mysqlclient-1.3.7
381 1 Etienne Pallier
382 1 Etienne Pallier
BOUH !!!
383 1 Etienne Pallier
384 1 Etienne Pallier
$ pip install --upgrade wheel
385 1 Etienne Pallier
Collecting wheel
386 1 Etienne Pallier
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
387 1 Etienne Pallier
Installing collected packages: wheel
388 1 Etienne Pallier
  Found existing installation: wheel 0.24.0
389 1 Etienne Pallier
    Uninstalling wheel-0.24.0:
390 1 Etienne Pallier
      Successfully uninstalled wheel-0.24.0
391 1 Etienne Pallier
Successfully installed wheel-0.29.0
392 1 Etienne Pallier
393 1 Etienne Pallier
$ pip uninstall mysqlclient
394 1 Etienne Pallier
395 1 Etienne Pallier
$ pip install mysqlclient
396 1 Etienne Pallier
Collecting mysqlclient
397 1 Etienne Pallier
  Using cached mysqlclient-1.3.7.tar.gz
398 1 Etienne Pallier
Building wheels for collected packages: mysqlclient
399 1 Etienne Pallier
  Running setup.py bdist_wheel for mysqlclient ... done
400 1 Etienne Pallier
  Stored in directory: /Users/epallier/Library/Caches/pip/wheels/9b/06/50/d11418c26cf8f2156b13d4363b5afde8e7e75ebb8540d0228d
401 1 Etienne Pallier
Successfully built mysqlclient
402 1 Etienne Pallier
Installing collected packages: mysqlclient
403 1 Etienne Pallier
Successfully installed mysqlclient-1.3.7
404 1 Etienne Pallier
405 1 Etienne Pallier
YES !!!
406 1 Etienne Pallier
407 1 Etienne Pallier
</pre>
408 1 Etienne Pallier
409 107 Paul Carensac
   * => Issues under Ubuntu:
410 107 Paul Carensac
<pre>
411 107 Paul Carensac
$ pip install mysqlclient
412 107 Paul Carensac
Collecting mysqlclient
413 107 Paul Carensac
  Downloading mysqlclient-1.3.7.tar.gz (79kB)
414 107 Paul Carensac
    100% |████████████████████████████████| 81kB 1.5MB/s
415 107 Paul Carensac
    Complete output from command python setup.py egg_info:
416 107 Paul Carensac
    /bin/sh: 1: mysql_config: not found
417 107 Paul Carensac
    Traceback (most recent call last):
418 107 Paul Carensac
      File "<string>", line 1, in <module>
419 107 Paul Carensac
    [...]
420 107 Paul Carensac
    ----------------------------------------
421 107 Paul Carensac
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-q6j4inuz/mysqlclient/
422 1 Etienne Pallier
423 108 Paul Carensac
BOUH !!!
424 108 Paul Carensac
425 107 Paul Carensac
$ sudo apt-get install libmysqlclient-dev
426 108 Paul Carensac
427 107 Paul Carensac
$ pip install mysqlclient
428 107 Paul Carensac
Collecting mysqlclient
429 107 Paul Carensac
  Using cached mysqlclient-1.3.7.tar.gz
430 107 Paul Carensac
Building wheels for collected packages: mysqlclient
431 107 Paul Carensac
  Running setup.py bdist_wheel for mysqlclient ... error
432 107 Paul Carensac
433 107 Paul Carensac
    _mysql.c:40:20: fatal error: Python.h: No such file or directory
434 107 Paul Carensac
     #include "Python.h"
435 107 Paul Carensac
                        ^
436 107 Paul Carensac
    compilation terminated.
437 107 Paul Carensac
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
438 107 Paul Carensac
    
439 107 Paul Carensac
    ----------------------------------------
440 107 Paul Carensac
Command "/home/carens_p/pyros/venv_py35_pyros/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-k3klv92j/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-gz242xxs-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/carens_p/pyros/venv_py35_pyros/include/site/python3.5/mysqlclient" failed with error code 1 in /tmp/pip-build-k3klv92j/mysqlclient/
441 107 Paul Carensac
442 108 Paul Carensac
BOUH !!!
443 108 Paul Carensac
444 107 Paul Carensac
$ sudo apt-get install python3.5-dev
445 108 Paul Carensac
446 107 Paul Carensac
$ pip install mysqlclient
447 107 Paul Carensac
448 107 Paul Carensac
YES !!!
449 107 Paul Carensac
450 107 Paul Carensac
</pre>
451 12 Etienne Pallier
452 250 Paul Carensac
 * => Issue under Windows
453 250 Paul Carensac
<pre>
454 250 Paul Carensac
Same message as the issue for Mac.
455 250 Paul Carensac
456 250 Paul Carensac
Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient to download the newest mysqlclient wheel
457 250 Paul Carensac
458 250 Paul Carensac
$ pip install path\to\mysqlclient\wheel
459 250 Paul Carensac
460 250 Paul Carensac
No need to redo "pip install mysqlclient"
461 250 Paul Carensac
</pre>
462 250 Paul Carensac
463 12 Etienne Pallier
---
464 28 Etienne Pallier
465 262 Etienne Pallier
h3. (Eclipse only) Set the Python3 virtual environment as the project interpreter
466 260 Etienne Pallier
467 260 Etienne Pallier
clic droit sur projet / Properties / PyDev - Interpreter/Grammar :
468 260 Etienne Pallier
Grammar version : 3
469 260 Etienne Pallier
Interpreter : click on « click here to configure an interpreter not listed »
470 260 Etienne Pallier
click on « New » :
471 260 Etienne Pallier
- Interpreter name : venv_py35_pyros
472 260 Etienne Pallier
- Interpreter executable : click on « Browse »
473 260 Etienne Pallier
	Select your private/venv_py35_pyros/bin/python3.5 executable
474 260 Etienne Pallier
	click OK
475 260 Etienne Pallier
	click OK again
476 260 Etienne Pallier
477 260 Etienne Pallier
Interpreter: select now venv_py35_pyros from the list
478 260 Etienne Pallier
479 266 Etienne Pallier
---
480 266 Etienne Pallier
481 270 Etienne Pallier
h3. Run the project
482 142 Etienne Pallier
483 270 Etienne Pallier
TODO: more details... (notamment sur localhost:8000/admin)
484 1 Etienne Pallier
485 270 Etienne Pallier
486 270 Etienne Pallier
487 270 Etienne Pallier
488 270 Etienne Pallier
h4. From the terminal
489 270 Etienne Pallier
490 142 Etienne Pallier
<pre>
491 142 Etienne Pallier
492 150 Etienne Pallier
$ cd src/
493 150 Etienne Pallier
494 1 Etienne Pallier
$ ./manage.py runserver
495 38 Etienne Pallier
(or gunicorn pyros.wsgi)
496 3 Etienne Pallier
==> http://localhost:8000
497 87 Etienne Pallier
...
498 87 Etienne Pallier
...
499 87 Etienne Pallier
Ctrl-c
500 87 Etienne Pallier
501 1 Etienne Pallier
</pre>
502 1 Etienne Pallier
503 270 Etienne Pallier
504 270 Etienne Pallier
505 270 Etienne Pallier
h4. From Eclipse
506 270 Etienne Pallier
507 270 Etienne Pallier
clic droit sur projet, Django/Custom command/runserver
508 270 Etienne Pallier
509 270 Etienne Pallier
check http://localhost:8000/
510 142 Etienne Pallier
511 142 Etienne Pallier
512 142 Etienne Pallier
---
513 142 Etienne Pallier
514 156 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}IV - CONFIGURATION of the Django Back Office (administration interface)%
515 155 Paul Carensac
516 268 Etienne Pallier
[[django_backoffice_config|Configuration of the Django Back office (admin)]]
517 268 Etienne Pallier
518 211 Paul Carensac
519 229 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}V - INSTALLATION FROM THE BEGINNING (for dev only, history of the initial project creation)%
520 1 Etienne Pallier
521 236 Etienne Pallier
522 242 Etienne Pallier
[[pyros_install_from_start|Pyros installation from the beginning]]