Mercurial a cessé de fonctionner après la migration de Python 2 vers Python 3 (Remarque)

Mercurial a cessé de fonctionner après la migration de Python 2 vers Python 3 (Remarque)

Le support Python 2 de Mercurial est susceptible de chuter dans un avenir pas trop lointain, donc lorsque j'ai migré vers Python 3.8 lors de sa construction, il a cessé de fonctionner avec brio.

L'index.cgi d'origine ressemble à ceci, et si je réécris ce python en python3, 500: Erreur de serveur interne.

#!/home/xxxx/local/bin/python

from mercurial import hgweb
from cgitb import enable
enable()
hgweb.hgweb("/home/xxxx/hg", "xxxx-hg").run()

En regardant le journal des erreurs Apache, Nom de l'en-tête de réponse '<! -' Contient des caractères non valides, demande d'abandon. Il semble que cgitb fait quelque chose de mal, donc si vous le supprimez, une trace de pile sera sortie dans le journal des erreurs Apache. Le message d'erreur de Mercurial ne prend en charge que les chaînes codées devient hmm, et hgweb.hgweb (" / home / xxxx / hg ".encode ('utf-8')," xxxx-hg " Réécrivez dans ".encode ('utf-8')). Run () et vérifiez l'opération.

Si vous y réfléchissez, vous n'avez pas besoin d'encoder, et le code source final est réglé ci-dessous.

#!/home/xxxx/local/bin/python3

from mercurial.hgweb import hgweb

hgweb(b"/home/xxxx/hg", b"xxxx-hg").run()

Connexes: Version erronée de Python 3 sur le serveur de location de Sakura (Remarque)

Recommended Posts

Mercurial a cessé de fonctionner après la migration de Python 2 vers Python 3 (Remarque)
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Remarque pour faire de python un démon
Publier de Python vers Slack
Transition de Chainer v1 à Chainer v2
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Connectez-vous à sqlite depuis python
Appelez Matlab depuis Python pour optimiser
Publication de Python sur la chronologie Facebook
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Précautions lors de l'exécution de Python sur EC2 à partir d'AWS Lambda (Exécuter la commande)
Python (de la première fois à l'exécution)
Publier une image de Python sur Tumblr
Selenium a cessé de fonctionner après la mise à jour de Firefox
Comment accéder à wikipedia depuis python
Python pour passer d'une autre langue
[Note] Sites Web relatifs à l'IA / à l'apprentissage automatique / à python [mis à jour de temps en temps]
N'a pas changé de Python 2 à 3
Mettre à jour Mac Python de 2 à 3
[Note] Obtenir des données de PostgreSQL avec Python
[Note] [PyTorch] De l'installation à la simplicité d'utilisation
Comment mettre à jour Google Sheets à partir de Python
Manuel Python privé (mis à jour de temps en temps)
Remarque pour Pyjulia appelant Julia depuis Python
Je veux utiliser jar de python
Conversion de katakana en voyelle kana [python]
Notification push du serveur Python vers Android
Manipulation d'Azure CosmosDB à partir de Python Part.2
Connexion de python à MySQL sur CentOS 6.4
Portage et modification du solveur de doublets de python2 vers python3.
Essayer de gérer SQLite3 avec Python [Note]
Python> Numéros de sortie de 1 à 100, 501 à 600> Pour csv
Convertir de Markdown en HTML en Python
[Amazon Linux] Passage de la série Python 2 à la série Python 3
[Note] Exécuter du code Python à partir d'Excel (xlwings)
Explication API pour toucher mastodonte de python
Connectez-vous à l'API Websocket de Coincheck depuis Python
Organisez le flux depuis l'octroi d'autorisations aux utilisateurs python pour effectuer des migrations et migrer
Remarque: Python
Note de Python
Envoyer un message de Slack à un serveur Python
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Comment ouvrir un navigateur Web à partir de python
Étude de Python Hour7: Comment utiliser les classes
[Python] Conversion de DICOM en PNG ou CSV
Importer un fichier Excel depuis Python (enregistré dans DB)
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Du dessin de fichier au graphique en Python. Élémentaire élémentaire
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Points à noter lors du passage de NAOqi OS 2.4.3 à 2.5.5
[python] Créer une table de pandas DataFrame vers postgres
[Bash] Obtenez la puissance de python de bash en utilisant la documentation ici
Comment générer un objet Python à partir de JSON
Comment bien gérer les commandes Linux à partir de Python
Remarque Python: lors de l'attribution d'une valeur à une chaîne
Je veux utiliser le solveur ceres de python
Ce que j'ai fait lors de la mise à jour de Python 2.6 vers 2.7