Project Installation

Version 11 (Etienne Pallier, 03/24/2016 03:59 pm)

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