Wiki

Version 295 (Etienne Pallier, 03/24/2016 12:45 pm)

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