| 
							
							============================
 | 
						
						
						
						
							 | 
							
							Introducing Python 3 support
 | 
						
						
						
						
							 | 
							
							============================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _Python 2.7 clock: https://pythonclock.org/
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. sidebar:: Python 2.7 to 3 upgrade
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							   This chapter exists of historical reasons.  Python 2.7 release schedule ends
 | 
						
						
						
						
							 | 
							
							   (`Python 2.7 clock`_) after 11 years Python 3 exists
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							As most operation systems are coming with Python3 installed by default. So it is
 | 
						
						
						
						
							 | 
							
							time for searx to support Python3.  But don't worry support of Python2.7 won't be
 | 
						
						
						
						
							 | 
							
							dropped.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. image:: searxpy3.png
 | 
						
						
						
						
							 | 
							
							    :scale: 50 %
 | 
						
						
						
						
							 | 
							
							    :alt: hurray
 | 
						
						
						
						
							 | 
							
							    :align: center
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							How to run searx using Python 3
 | 
						
						
						
						
							 | 
							
							===============================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Please make sure that you run at least Python 3.5.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							To run searx, first a Python3 virtualenv should be created.  After entering the
 | 
						
						
						
						
							 | 
							
							virtualenv, dependencies must be installed. Then run searx with python3 instead
 | 
						
						
						
						
							 | 
							
							of the usual python command.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. code:: sh
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    virtualenv -p python3 venv3
 | 
						
						
						
						
							 | 
							
							    source venv3/bin/activate
 | 
						
						
						
						
							 | 
							
							    pip3 install -r requirements.txt
 | 
						
						
						
						
							 | 
							
							    python3 searx/webapp.py
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							If you want to run searx using Python2.7, you don't have to do anything
 | 
						
						
						
						
							 | 
							
							differently as before.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Fun facts
 | 
						
						
						
						
							 | 
							
							=========
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							- 115 files were changed when implementing the support for both Python versions.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							- All of the dependencies was compatible except for the robotframework used for
 | 
						
						
						
						
							 | 
							
							  browser tests.  Thus, these tests were migrated to splinter. So from now on
 | 
						
						
						
						
							 | 
							
							  both versions are being tested on Travis and can be tested locally.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							If you found bugs
 | 
						
						
						
						
							 | 
							
							=================
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Please open an issue on `GitHub`_.  Make sure that you mention your Python
 | 
						
						
						
						
							 | 
							
							version in your issue, so we can investigate it properly.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _GitHub: https://github.com/asciimoo/searx/issues
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							Acknowledgment
 | 
						
						
						
						
							 | 
							
							==============
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							This development was sponsored by `NLnet Foundation`_.
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							.. _NLnet Foundation: https://nlnet.nl/
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							| Happy hacking.
 | 
						
						
						
						
							 | 
							
							| kvch // 2017.05.13 22:57
 |