|  | ============================
 | 
						
						
						
							|  | 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
 |