1
0
mirror of https://github.com/searx/searx synced 2024-12-01 14:40:43 +01:00
searx/setup.py
Markus Heiser 3c45fb7a99
[fix] set encoding of README.rst explicit in setup.py (utf-8) (#2117)
## What does this PR do?

When installing searx on a centos-7 image [1] an encoding exception is raised from setup.py::

    command: /usr/local/searx/searx-pyenv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/usr/local/searx/searx-src/setup.py'"'"'; __file__='"'"'/usr/local/searx/searx-src/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-pidntzkq
         cwd: /usr/local/searx/searx-src/
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/local/searx/searx-src/setup.py", line 16, in <module>
        long_description = f.read()
      File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc9 in position 482: ordinal not in range(128)

[1] https://uk.images.linuxcontainers.org/

## Why is this change important?

README.rst uses non ASCII characters _(pronunciation səːks.)_

## How to test this PR locally?

install searx on a centos-7 image from https://uk.images.linuxcontainers.org/
2020-08-08 20:01:04 +02:00

80 lines
2.1 KiB
Python

# -*- coding: utf-8 -*-
"""Installer for Searx package."""
from setuptools import setup
from setuptools import find_packages
import os
import sys
# required to load VERSION_STRING constant
sys.path.insert(0, './searx')
from version import VERSION_STRING
import brand
with open('README.rst', encoding='utf-8') as f:
long_description = f.read()
with open('requirements.txt') as f:
requirements = [ l.strip() for l in f.readlines()]
with open('requirements-dev.txt') as f:
dev_requirements = [ l.strip() for l in f.readlines()]
setup(
name='searx',
version=VERSION_STRING,
description="A privacy-respecting, hackable metasearch engine",
long_description=long_description,
url=brand.DOCS_URL,
project_urls={
"Code": brand.GIT_URL,
"Issue tracker": brand.ISSUE_URL
},
classifiers=[
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
'License :: OSI Approved :: GNU Affero General Public License v3'
],
keywords='metasearch searchengine search web http',
author='Adam Tauber',
author_email='asciimoo@gmail.com',
license='GNU Affero General Public License',
packages=find_packages(exclude=["tests*"]),
zip_safe=False,
install_requires=requirements,
extras_require={
'test': dev_requirements
},
entry_points={
'console_scripts': [
'searx-run = searx.webapp:run'
]
},
package_data={
'searx': [
'settings.yml',
'../README.rst',
'../requirements.txt',
'../requirements-dev.txt',
'data/*',
'plugins/*/*',
'static/*.*',
'static/*/*.*',
'static/*/*/*.*',
'static/*/*/*/*.*',
'static/*/*/*/*/*.*',
'templates/*/*.*',
'templates/*/*/*.*',
'tests/*',
'tests/*/*',
'tests/*/*/*',
'translations/*/*/*'
],
},
)