cedrick-f / pySequence

aide à la création de Séquences et Progressions pédagogiques et à la validation de Projets
GNU General Public License v3.0
14 stars 11 forks source link

installation pour Linux #32

Open jfornech opened 6 years ago

jfornech commented 6 years ago

Bonjour, J'aurais aimé savoir s'il existait une version d'installation linux ? Cordialement Jean-François

cedrick-f commented 6 years ago

Bonjour Je n'ai pas la maitrise suffisante (et surtout pas le temps de l'acquérir !) pour faire une distribution Linux. Mais plusieurs utilisateurs m'ont signalé avoir réussi à utiliser pySéquence sous Linux en installant tous les modules nécessaires . Si vous vous lancez, merci de signaler s'il faut modifier/améliorer la procédure ... CF

jfornech commented 6 years ago

D'accord. Dans la limite de mon temps disponible, je peux regarder et vous faire un retour. JF

jfornech commented 6 years ago

Bonsoir, J'ai réussi à faire tourner PySequence sur la Ubuntu 17.4.

Le gros blocage est un problème de dépendance avec la librairie html5lib. Pour régler le soucis, il faut forcer l'installation de la version 1.0b8 de html5lib.

Par commodité j'ai fait un petit script des actions que j'ai réalisées pour faire fonction pysequence sur Ubuntu. Des fois que ça serve à quelqu'un ...

Voici la liste des actions de mon script: 1) Vérification des dépendances et installation des packages si nécessaire 2) copie du répoertoire dans /usr/local/pysequence 3) création d'une jolie icone sur le burreau, qui devrait aussi s'ajouter au le menu Education de Gnome.

Si il a des retours, je peux essayer de faire quelque chose. Bonne soirée JFO

Voila le script

#!/bin/bash

check_dependency() { 
    dpkg -l $1 &> /dev/null
    if [ $? -eq 0 ]; then
        # Si la dépendance est OK
    echo "$1 : OK"
    else
        # si la dépendance n'ext pas trouvée
        sudo apt-get install $1 &> /dev/null # Essayer de l'installer avec apt-get
        if [ $? -eq 0 ]; then 
            # Si ça a marché
        echo "$1 : OK"
        else
            sudo pip install $1 &> /dev/null # si ça ne marche toujours pas essayer avec pip
                if [ $? -eq 0 ]; then
                            echo "$1 : OK"
            else
                echo -e "\033[31mInstallation impossible: $1\033[0m "
            fi
        fi      
    fi
}

# Test des dépendances pkg
array=(
    "gcp"
    "python-pip"
    "python-wxgtk3.0"
    "pyenchant"
    "python-reportlab"
    "xhtml2pdf"
    "xlrd"
    "xlwt"
    "comtypes"
    "pyperclip"
    "pypdf2"
    "markdown"
    "html5lib==1.0b8"
    ""
    )

for i in "${array[@]}"; do
    check_dependency $i
done

# copie des fichiers dans /usr/share
echo "copie des fichiers dans /usr/share"
sudo mkdir /usr/share/pysequence
sudo gcp -rf ./* /usr/share/pysequence

# Création du fichier desktop
echo "Création du raccourci"

echo '[Desktop Entry]'> ~/Bureau/pysequence.desktop
echo 'Encoding=UTF-8' >> ~/Bureau/pysequence.desktop
echo 'Name=PySéquence' >> ~/Bureau/pysequence.desktop
echo 'Type=Application' >> ~/Bureau/pysequence.desktop
echo 'Exec=python /usr/share/pysequence/src/wx_pysequence.py' >> ~/Bureau/pysequence.desktop
echo 'StartupNotify=true' >> ~/Bureau/pysequence.desktop
echo 'Path=/usr/share/pysequence' >> ~/Bureau/pysequence.desktop
echo 'Icon=/usr/share/pysequence/Logo.png' >> ~/Bureau/pysequence.desktop
echo 'Categories=GTK;GNOME;Education' >> ~/Bureau/pysequence.desktop

sudo chmod +x ~/Bureau/pysequence.desktop
cedrick-f commented 6 years ago

Bonjour Beau travail ! Il me reste à trouver une machine Linux pour tester tout ça ... Les linuxiens vont te remercier !

J'en profite pour faire un appel aux spécialistes de MACOS, car il y a de la demande de la par d'utilisateurs.

CF

jfornech commented 6 years ago

J'apporte un petit bémol, Pysequence s'installe correctement et se lance, mais il plante lors que je sélectionne un cycle. Je n'ai pas encore eu le temps d'investiguer le problême. Je mettrais le message d'erreur ce soir. Je suis en cours (ESPE).

Belgarath37 commented 6 years ago

Bonjour, Je suis sous Fedora 25 et je pense avoir suivi la procédure mais lors du lancement j'ai l'erreur suivante :

$ python ./src/pysequence.py 7.1.16 FILE_ENCODING UTF-8 SYSTEM_ENCODING utf-8 Dossier COMMUN pour les données : /home/xavier/progs/pysequence/src Dossier USER pour les données : /home/xavier/progs/pysequence/src Référentiels modifiés : [] sys.version_info(major=2, minor=7, micro=13, releaselevel='final', serial=0) Traceback (most recent call last): File "./src/pysequence.py", line 117, in from objects_wx import CodeBranche, PopupInfo, getIconeFileSave, getIconeCopy, \ File "/home/xavier/progs/pysequence/src/objects_wx.py", line 181, in import genpdf File "/home/xavier/progs/pysequence/src/genpdf.py", line 88, in from register import EnableProtectedModeReader, GetProtectedModeReader _File "/home/xavier/progs/pysequence/src/register.py", line 43, in import _winreg, os ImportError: No module named winreg

En cherchant sur le net , a priori, on ne peu pas installer le module _winreg sous linux ! Comment faire ?

Merci beaucoup.

gbourel commented 6 years ago

Bonjour à vous, en testant avec un Ubuntu 16.04 j'ai aussi la même erreur au lancement. En allant voir src/src/genpdf.py ligne 88 on peut voir que le module register est chargé et celui-ci correspond à :

Enregistrement de pySéquence dans la base de registre (Windows)

ce qui est donc incompatible avec linux/mac.

Simplement en commentant l'utilisation de ce module pySequence se lance mais il y a beaucoup d'erreurs ce qui fait que je n'ai pas réussi à l'utiliser.

Bien cordialement, GB

cedrick-f commented 6 years ago

Bonjour Les erreurs que vous me signalez sont à présent corrigées (pas dans les releases) Par contre, ne nous précipitez pas : si pySéquence se lance maintenant correctement (ubuntu 16.04), je n'arrive pas à créer des projets ni des progressions (crash violent avec erreur de segmentation !).

Je sèche complètement sur ce problème ...

gbourel commented 6 years ago

Merci pour ce fix et oui je confirme que les erreurs sont bien identiques ici. Désolé de ne pas avoir le temps de regarder ce problème plus en détail. Toutefois je suis disponible si besoin de tester.