Esto sucede al intentar activar una compilación de documentos, incluso para el proyecto de demostración. Hice esto en una instalación nueva en Ubuntu 18.04 y Amazon Linux 2.
Mi script de Ubuntu:
apt update
apt upgrade -y
apt install -y latexmk texlive texlive-science texlive-formats-extra git redis python3-dev
git clone https://github.com/rtfd/readthedocs.org.git
cd readthedocs.org
echo " SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')" >> readthedocs/settings/base.py
python3 -m venv --without-pip venv
source venv/bin/activate
curl -s https://bootstrap.pypa.io/get-pip.py | python
pip install -r requirements.txt
pip install django-allauth
python manage.py migrate
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin<strong i="8">@localhost</strong>', 'admin')" | python ./manage.py shell
python manage.py collectstatic
python manage.py loaddata test_data
python manage.py runserver 0.0.0.0:8000
Error:
[21/Feb/2019 19:22:26] readthedocs.doc_builder.environments:599[1832]: WARNING (Build) [admin-demo:latest] Command python3.7 -mvirtualenv --no-site-packages --no-download /home/ubuntu/readthedocs.org/user_builds/admin-demo/envs/latest failed:
Traceback (most recent call last):
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 178, in run
env=environment,
File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'python3.7': 'python3.7'
Traceback (most recent call last):
File "/home/ubuntu/readthedocs.org/readthedocs/projects/tasks.py", line 558, in run_build
self.setup_python_environment()
File "/home/ubuntu/readthedocs.org/readthedocs/projects/tasks.py", line 784, in setup_python_environment
self.python_env.setup_base()
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/python_environments.py", line 258, in setup_base
cwd='$HOME',
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 612, in run
return super().run(*cmd, **kwargs)
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 403, in run
return self.run_command_class(cls=self.command_class, cmd=cmd, **kwargs)
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 618, in run_command_class
return super().run_command_class(*cmd, **kwargs)
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 472, in run_command_class
raise BuildEnvironmentWarning(msg)
readthedocs.doc_builder.exceptions.BuildEnvironmentWarning: Command python3.7 -mvirtualenv --no-site-packages --no-download /home/ubuntu/readthedocs.org/user_builds/admin-demo/envs/latest failed:
Traceback (most recent call last):
File "/home/ubuntu/readthedocs.org/readthedocs/doc_builder/environments.py", line 178, in run
env=environment,
File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'python3.7': 'python3.7'
Compilación de documentos
Error al faltar Python 3.7
Esto no estaba sucediendo hace unos días cuando probé esto, usando los mismos scripts de configuración.
El edificio de documentos está separado de la aplicación. Predeterminamos 3.7 en nuestras versiones más recientes. Puede usar un archivo de configuración para usar otra versión de Python o cambiar la configuración predeterminada desde readthedocs/settings
Explique cómo hacer esto. ¿Está esto documentado?
Usando un archivo de configuración https://docs.readthedocs.io/en/stable/config-file/v2.html
O puede eliminar 3.7 de la configuración https://github.com/rtfd/readthedocs.org/blob/ed8dd29a68d009fc08929fabf7155883482619c1/readthedocs/settings/base.py#L292 -L294 (porque tomamos la última versión de la última imagen)
Y usamos docker en producción.
Esto parece un estado extraño considerando que no es compatible con Python 3.7 para ejecutar la aplicación (# 4756).
¿Por qué necesitaría dos versiones de Python por defecto? Ese no es un buen estado para estar en un comportamiento predeterminado.
Comentario más útil
Esto parece un estado extraño considerando que no es compatible con Python 3.7 para ejecutar la aplicación (# 4756).
¿Por qué necesitaría dos versiones de Python por defecto? Ese no es un buen estado para estar en un comportamiento predeterminado.