Suite

J'ai téléchargé le package GDAL-1.11.1 mais pourquoi ne puis-je pas l'appeler en python ?


J'ai un Mac et je suis très nouveau dans ce domaine du codage…

J'utilise un code qui inclut

importer osgeo en tant que gdal

et j'ai donc téléchargé GDAL depuis https://pypi.python.org/pypi/GDAL/ qui a un dossier appelé "osgeo" et un script python appelé "gdal", mais quand j'exécute tout le code, je reçois le message "ImportError : aucun module nommé 'osgeo'"

Quelqu'un peut-il me donner les étapes à suivre pour l'importer correctement ?


Votre code est faux. Faites ceci :

depuis osgeo importer gdal

GDAL est un module du package osgeo. Vous n'importez jamais osgeo lui-même. En Python, un package est une collection pratique de modules et fournit un "espace de noms" pour cette collection. Ainsi, vous pouvez approfondir et importer des fonctions ou des variables spécifiques à partir d'un module dans un package comme celui-ci :

à partir d'un Package importer unModule.someFunction

La déclarationdepuis osgeo importer gdalrécupère tout dans le module gdal. Parfois, vous ne voulez que des parties d'un module et il peut être plus efficace de simplement importer ce dont vous avez besoin. Ne t'inquiète pas pour ça pour l'instant. Dans votre cas, les trois importations les plus courantes que vous ferez lors de l'utilisation de GDAl sont

depuis osgeo importer gdal depuis osgeo importer ogr depuis osgeo importer osr

GDAL vous offre une fonctionnalité raster. OGR vous offre une fonctionnalité vectorielle et OSR vous offre une fonctionnalité de référence spatiale. Jetez un œil à cet excellent si ancien tutoriel. Cela vous aidera à démarrer.


Vous ne pouvez pas seulement décompresser le dossier, vous devez installer le module avecpython setup.py installermais osgeo est un wrapper Python de la bibliothèque GDAL C++. Par conséquent, vous devez d'abord installer la bibliothèque GDAL, puis installer le module Python qui utilise les bibliothèques GDAL

Dépendances : * libgdal (1.11.0 ou supérieur) et fichiers d'en-tête (gdal-devel)

Vous pouvez compiler et installer vous-même la librairie GDAL C++ et après le module Python mais pour Mac OS X il existe de nombreuses solutions complètes (installation GDAL + osgeo) :

  • la version KyngChaos installée dans /Library/Frameworks/GDAL.framework pour la norme Apple Python
  • la version Homebrew pour la version Homebrew Python (Comment installer Python GDAL sur OS X par exemple)
  • d'autres comme des solutions MacPorts ou Fink

Passage à XFCE à partir de LXDE

Désolé si cela semble simple, mais j'ai récemment téléchargé XFCE pour remplacer l'environnement LXDE.

et en suivant toutes les instructions.

Puis pour supprimer LXDE j'ai effectué :

Mon problème est que chaque fois que je cours

il s'ouvre toujours et exécute LXDE ? Je sais que je devrais courir

mais je veux savoir comment supprimer complètement LXDE? et comprendre comment fonctionne startx ?

Edit : Comment puis-je également modifier le fichier startx afin que je puisse choisir (si les deux sont installés) quel environnement de bureau je veux que startx exécute ?


Certains packages python n'ont pas pu être installés lors de l'installation de hplip-3.20.5 sur Ubuntu 20.04

Après la mise à niveau de 19.10 à 20.04, j'ai supprimé automatiquement de nombreux packages obsolètes. Au cours de la mise à niveau de hplip, j'ai confirmé l'utilisation de la version des fichiers de configuration du responsable. Mais après le redémarrage d'Ubuntu, l'imprimante hp 1020 a cessé d'imprimer. La boîte à outils Hplip s'est bloquée à chaque fois que je rafraîchissais sa fenêtre. J'ai donc purgé et désinstallé hplip complètement.

L'installation à l'aide de ce guide installe la version hplip 3.20.3 qui a été installée précédemment.

J'ai donc téléchargé la version 3.20.5 à partir d'ici pour Ubuntu, je l'ai chmodée avec l'autorisation x et je l'ai exécutée : ./hplip-3.20.5.run .

Il m'a demandé si je voulais installer les dépendances manquantes :

J'ai dit y , mais, pour le package python-pyqt5, j'ai :

Pour le package python-dbus.mainloop.pyqt5 :

J'ai ignoré l'installation de ces packages car il était impossible de les installer. À la fin, j'ai les erreurs suivantes :

J'ai également téléchargé hplip-3.20.5-plugin.run à partir d'ici

Les référentiels Universe/Multivers sont activés, mais :

Les packages python3-pyqt5 , python3-reportlab , python3-notify2 , python3-dbus.mainloop.pyqt5 sont installés et sont déjà la dernière version s.

Je pourrais également voir, par exemple, le package python-pyqt5 est disponible dans le référentiel 19.10, mais ce package nécessite le package qtbase-abi-5-12-4 qui n'existe pas dans le référentiel d'eoan. Le package python-pyqt5 de la 18.04 nécessite un package qtbase-abi différent, qui n'est pas présent dans le référentiel de bionic.

Cela signifie-t-il que phlip-3.20.5 n'est pas compatible avec 20.04 ou peut-être existe-t-il un référentiel supplémentaire contenant ces quatre packages et leurs dépendances ?


Fiona nécessite les versions Python 3.6+ et GDAL 1.11-3. 0. Pour construire à partir d'une distribution source, vous aurez besoin d'un compilateur C et d'en-têtes et de bibliothèques de développement GDAL et Python (libgdal1-dev pour Debian/Ubuntu, gdal-dev pour CentOS/Fedora).

Pour créer à partir d'une copie du référentiel, vous aurez également besoin de Cython pour créer des sources C à partir des fichiers .pyx du projet. Consultez le fichier requirements-dev.txt du projet pour obtenir des conseils.

Les frameworks Kyngchaos GDAL satisferont la dépendance GDAL/OGR pour OS X, tout comme la formule GDAL de Homebrew ( brew install gdal ).

Configuration requise pour Python¶

Fiona dépend des modules six , cligj et munch . Pip récupérera ces exigences pour vous, mais les utilisateurs qui installent Fiona à partir d'un programme d'installation Windows doivent les obtenir séparément.

Systèmes de type Unix¶

En supposant que vous utilisez un virtualenv (sinon, passez à la 4ème commande) et que les bibliothèques GDAL/OGR, les en-têtes et le programme gdal-config sont installés à des emplacements bien connus sur votre système via le gestionnaire de paquets de votre système (brew install gdal en utilisant Homebrew sur OS X), l'installation est aussi simple que cela.

Si gdal-config n'est pas disponible ou si les en-têtes et les bibliothèques GDAL/OGR ne sont pas installés dans un emplacement bien connu, vous devez définir les options include dirs, library dirs et library via le fichier setup.cfg ou la ligne de commande de configuration comme indiqué ci-dessous (en utilisant git ). Vous devez également spécifier la version de l'API GDAL sur la ligne de commande en utilisant l'argument --gdalversion (voir exemple ci-dessous) ou avec la variable d'environnement GDAL_VERSION (par exemple export GDAL_VERSION=2.1 ).

Ou spécifiez que les options de construction et la version de l'API GDAL doivent être fournies par un programme gdal-config particulier.

Les fenêtres¶

Les installateurs binaires sont disponibles sur http://www.lfd.uci.edu/

gohlke/pythonlibs/#fiona et arrivera finalement à PyPI.

Vous pouvez télécharger une distribution binaire de GDAL à partir d'ici. Vous devrez également télécharger les bibliothèques et les en-têtes compilés (fichiers inclus).

Lors de la construction à partir des sources sous Windows, il est important de savoir que setup.py ne peut pas s'appuyer sur gdal-config, qui n'est présent que sur les systèmes UNIX, pour découvrir les emplacements des fichiers d'en-tête et des bibliothèques dont Fiona a besoin pour compiler ses extensions C. Sous Windows, ces chemins doivent être fournis par l'utilisateur. Vous devrez trouver les fichiers d'inclusion et les fichiers de bibliothèque pour gdal et utiliser setup.py comme suit. Vous devez également spécifier la version de l'API GDAL sur la ligne de commande en utilisant l'argument --gdalversion (voir l'exemple ci-dessous) ou avec la variable d'environnement GDAL_VERSION (par exemple, définissez GDAL_VERSION=2.1 ).

Remarque : la DLL GDAL ( gdal111.dll ou similaire) et le répertoire gdal-data doivent se trouver dans votre PATH Windows, sinon Fiona ne fonctionnera pas.

La version Appveyor CI utilise les binaires GISInternals GDAL pour construire Fiona. Cela produit une roue binaire pour les constructions réussies, qui inclut GDAL et d'autres dépendances, pour les utilisateurs souhaitant essayer une version de développement instable. Le fichier de configuration Appveyor peut être un exemple utile pour les utilisateurs qui créent à partir de la source sur Windows.


3 réponses 3

Vous pouvez essayer WizTree (wiztreefree.com), qui est similaire à WinDirStat mais il contourne le pilote du système de fichiers et lit directement le MFT s'il est exécuté en tant qu'administrateur. Il affichera l'espace occupé par les flux de données alternatifs, les fichiers de métadonnées ($MFT, $Secure, $BadClus, etc.) et les répertoires auxquels vous n'avez pas accès. Il ne semble pas afficher l'espace alloué aux index de répertoire, et il peut manquer d'autres choses, mais je ne serais pas surpris si le coupable s'affiche.

Je ne pouvais plus modifier mon commentaire alors je le poste comme réponse.

J'ai rencontré une fois un tel incident : il était dû à Alternate Data Streams, une fonctionnalité de NTFS pour la compatibilité MacOS classique dans les dossiers partagés. Malheureusement, cette fonctionnalité malheureuse peut être utilisée à des fins malveillantes. En termes simples, il peut être utilisé pour remplir votre disque mais l'espace réservé ne peut pas être localisé, comme dans votre cas. Si vous voulez vérifier cela, je suggère l'outil MS sysinternals, streams.

Attention, ils sont utilisés dans certains cas légitimes, par exemple le serveur MS SQL avant 2014 les utilise.


Développez l'élément "Logiciel installé" dans Ubuntu Software Center. Vous verrez une liste de tous les différents référentiels que vous avez activés. En cliquant sur le référentiel, vous verrez les packages que vous avez installés à partir de chacun.

Il semble qu'il n'y ait aucune trace de l'origine d'un installée paquet.

Si vous êtes d'accord pour obtenir l'emplacement à partir duquel un paquet du même nom serait téléchargé, cela est disponible via apt-cache policy . Le script suivant (plutôt moche) fait l'affaire pour moi :

Notez qu'il est assez fragile, car il fait des hypothèses sur la sortie de apt-cache policy , qui peut changer d'une version à l'autre.

Ouvrez Synaptic Package Manager et cliquez sur le bouton "Origine" en bas de la barre latérale gauche. Il listera vos sources. Sélectionnez une source pour voir les packages disponibles/installés.

Ce script répertorie les packages installés et disponibles dans le PPA :

BTW, quant à la suppression du PPA, utilisez le programme ppa-purge, j'en ai créé une version améliorée ici.

Sous Quantal (12.10), l'espace dans la ligne d'origine doit être supprimé.

Si vous avez un système sans serveur Wayland/X (comme un Raspberry Pi), les réponses d'andrewsomething et lovelinux ne peuvent pas être utilisées. La réponse de jarno limite le cas d'utilisation aux PPA uniquement, bien que la question soit d'intérêt général. Les scripts de Riccardo Murri et Graham Dunn sont assez lents en raison des appels répétés de la politique apt-cache (environ 10 minutes d'exécution).

C'est donc mon appel qui résout le cas général sur un shell beaucoup plus rapide (comme moins de 10 secondes d'exécution)

apt list --installed obtient une liste de tous les packages installés en ignorant le message d'apt sur les futurs changements de format possibles avec 2> /dev/null et en extrayant uniquement les noms de packages avec cut en utilisant / comme délimiteur avec -d/ et en retournant le premier champ avec -f1 .

Ensuite, la politique apt-cache est utilisée pour obtenir plus d'informations sur tous les packages. Cela pourrait être exécuté avec xargs, car apt-cache attend son entrée comme argument de ligne de commande. Comme il s'agit de la partie restante critique pour les performances, GNU parallel from package parallel est utilisé à la place pour exécuter plusieurs processus apt-cache en parallèle en recherchant 200 packages avec chacun utilisant -n200 . Notez que xargs peut également exécuter plusieurs commandes en parallèle, mais synchronise la sortie sur une nouvelle ligne, ce qui n'est pas correct ici en général.

Enfin, la sortie d'apt-cache est analysée avec rg du package ripgrep qui est un successeur grep très rapide et multiligne avec -U permettant de sortir deux groupes de capture d'expressions régulières avec -ou '$1 $2' . L'expression régulière capture le nom du package avec ^(S+) , passe à la dernière étoile marquant le référentiel installé avec [sS]+?* , puis saute trois mots avec (?:S+s+) <3 > et enfin capture le référentiel avec (S+) .


Vous devrez peut-être d'abord donner au fichier .sh l'autorisation de s'exécuter. chmod +x file.sh , alors vous pouvez l'exécuter avec ./file.sh .

Vous pouvez également cliquer avec le bouton droit sur le fichier, sélectionner Propriétés, puis sélectionner Autorisations, puis sélectionner « Autoriser l'exécution du fichier en tant que programme ». Ensuite, vous double-cliquez sur le fichier et sélectionnez « Exécuter dans le terminal » ou « Exécuter ».

Un fichier .sh dans Ubuntu est à peu près le même qu'un fichier .bat ou .wsh dans Windows. Ce que fait le programme, ou comment il fonctionne, dépend entièrement du développeur. Il n'est pas possible de répondre "comment installer un fichier .sh", sauf de dire "lisez le README".

C'est une mauvaise pratique de fournir de tels programmes. Vous devriez toujours rechercher des fichiers .deb, qui sont à peu près comparables aux fichiers .msi dans Windows, je crois. C'est-à-dire que vous double-cliquez dessus et il sera installé.

Vous pouvez l'autorisation de fichier via la console de ligne de commande dans votre Ubuntu.

Ouvrez une fenêtre de terminal et tapez :

Après avoir modifié l'attribut de fichier, vous pouvez exécuter ces fichiers directement via la fenêtre du terminal ou cliquer dessus lorsque vous utilisez le gestionnaire de fichiers. Votre fichier d'installation devrait fonctionner maintenant.


5 réponses 5

Édition générale : IEEEtran est juste pour la commodité de l'auteur pour avoir une idée du produit final approximatif. Le style maison de l'IEEE n'est pas publié et votre article (de journal) sera modifié par les éditeurs et les rédacteurs du bureau de publication. Donc pas besoin de super peaufiner votre article, d'équilibrer les colonnes, d'ajuster les biographies, etc. lorsque vous soumettez la version finale. Une idée approximative de ce qui est suffisant.

Cela dit, j'ai supprimé mon commentaire précédent car il pourrait être compris que c'est la faute de Michael Shell, ce que je ne penserais même pas. Je ne suis pas satisfait de l'IEEE et de son flux de travail, c'est à peu près tout.

Tout d'abord, IEEE est vraiment mauvais avec le style de conférence (je devrais probablement dire que l'IEEEtran vieillit assez rapidement.) et de nombreuses conférences encouragent leurs utilisateurs à télécharger le style ieeeconf à partir de diverses sources. Cependant, ce qui suit ne me donne aucune erreur:


si l'application a été installée en tant que root.

Mais cela ne fonctionnera que si le développeur du paquet a pris soin de faire une bonne règle de désinstallation.

Vous pouvez également essayer d'avoir un aperçu des étapes utilisées pour installer le logiciel en exécutant :

Et puis essayez d'inverser ces étapes manuellement.

À l'avenir, pour éviter ce genre de problèmes, essayez d'utiliser checkinstall au lieu de make install dans la mesure du possible (toujours autant que possible, à moins que vous ne souhaitiez conserver à la fois la version compilée et la version empaquetée). Il créera et installera un fichier deb que vous pourrez ensuite désinstaller à l'aide de votre gestionnaire de paquets préféré.

make clean nettoie généralement les répertoires de construction, il ne désinstalle pas le paquet. Il est utilisé lorsque vous voulez être sûr que tout est compilé, pas seulement les fichiers modifiés.

Je ne pense pas que ce soit un bogue, ce serait une bonne idée de lire et d'apprendre à utiliser checkinstall lors de l'installation à partir des sources.

vous pouvez installer checkinstall à partir des référentiels, une brève description du package

CheckInstall garde une trace de tous les fichiers créés ou modifiés par votre script d'installation ("make install" "make install_modules", "setup", etc), construit un paquet binaire standard et l'installe dans votre système vous donnant la possibilité de le désinstaller avec les utilitaires de gestion de paquets standard de votre distribution.

Ces liens ci-dessous peuvent être utiles pour une meilleure compréhension. http://en.wikipedia.org/wiki/CheckInstall

Ce n'est pas un bogue - la compilation à partir des sources est une méthode non prise en charge d'installation de logiciels qui contourne complètement le système de gestion de paquets (qui est utilisé par le Centre logiciel).

Il n'existe aucun moyen standard d'installer ou de désinstaller un logiciel compilé à partir de la source, de sorte qu'Ubuntu ne peut pas savoir quoi faire. Le logiciel n'est même pas répertorié comme un programme installé.

Vous devez suivre les instructions du distributeur pour l'installation et la suppression de ces logiciels personnalisés. Vous pouvez également contacter le développeur pour lui demander de créer un paquet Debian afin que le système de gestion de paquet puisse être utilisé.

Ce n'est pas un bug, c'est ce qui se passe lorsque les développeurs ont recours à la distribution via les sources et non via les méthodes de packaging natives.

Vous pouvez transformer vos fichiers sources en paquets Debian en utilisant checkinstall ou dhbuild. Honnêtement, à mon avis, les nouveaux utilisateurs devraient éviter d'installer à partir de la source et les développeurs devraient éviter de distribuer uniquement par source.

Make est un programme utilisé pour compiler et installer des programmes à partir du code source. Ce n'est pas un gestionnaire de paquets, il ne garde donc pas trace des fichiers qu'il installe. Cela rend difficile la désinstallation des fichiers par la suite.

La commande make install copie le programme construit et les packages dans le répertoire de la bibliothèque et les emplacements spécifiés à partir du makefile. Ces emplacements peuvent varier en fonction de l'examen effectué par le script de configuration.

VérifierInstaller

CheckInstall est un programme utilisé pour installer ou désinstaller des programmes compilés à partir du code source. Il surveille et copie les fichiers installés à l'aide du programme make. Il installe également les fichiers à l'aide du gestionnaire de packages, ce qui permet de le désinstaller comme n'importe quel package ordinaire.

La commande checkinstall appelle la commande make install. Il surveille les fichiers installés et crée un package binaire à partir d'eux. Il installe également le package binaire avec le gestionnaire de packages Linux.

Remplacez source_location.deb et le nom dans la capture d'écran par vos propres informations :

Exécutez les commandes suivantes dans le répertoire du package source :

Voici un article que j'ai écrit qui passe par l'ensemble du processus avec des explications.

Nous devons négocier le fait que faire une désinstallation voudrais ne pas fonctionnent toujours, vous trouverez donc ci-dessous une solution plus proactive.

Cela implique l'utilisation du programme paco qui est disponible dans le centre logiciel Ubuntu. Une fois que nous avons installé paco, nous pouvons l'utiliser en mode journal lorsque nous "fabriquons l'installation" d'un programme. Paco agit comme un wrapper pour votre "make install" et crée un journal dans le répertoire /var/log/paco avec la liste des fichiers copiés dans différents répertoires. De plus, vous pouvez voir les fichiers dans le frontal Paco.

Par exemple, lorsque j'ai compilé php à partir de la source, j'ai fait ce qui suit :

Le paramètre l fait fonctionner le paco en mode journal. Cela a créé un fichier journal dans /var/log/paco nommé php5 (le nom que j'ai donné dans la commande). Il contenait tous les fichiers qui sont copiés dans divers emplacements standard pendant l'installation. Vous pouvez utiliser un éditeur de ligne de commande ou paco gui pour afficher les fichiers.

Vous trouverez ci-dessous l'exemple d'obtention de la liste des fichiers à l'aide de l'éditeur de ligne de commande sed
(Remplacez php5 par votre nom de fichier).

Une fois que vous avez la liste des fichiers, vous savez comment les supprimer, n'est-ce pas ? En effet, vous pourriez passer les résultats de la commande ci-dessus à rm en utilisant des backticks comme indiqué ci-dessous :

Remarque : En raison des limitations de LD_PRELOAD, paco ne peut pas suivre la trace des programmes suid. Voir la page de manuel.


Vous n'avez pas besoin de rooter votre appareil. Tout ce que vous avez à faire est d'exécuter la commande suivante sur un périphérique non rooté (ou rooté) pour permettre à termux d'accéder à vos répertoires existants, en particulier /storage/emulated/0 :

cela crée un nouveau répertoire dans termux,

/storage , qui contient des simlinks vers /storage/emulated/0 et est accessible par un gestionnaire de fichiers gui standard.

Vous devrez accorder l'accès aux fichiers à termux lorsque vous y serez invité après avoir exécuté la commande.

/stockage répertoire lui-même qui est /storage/emulatedǖ , mais cet emplacement est plutôt le lien symbolique

/stockage/partagé. Donc mettre les choses en

Le répertoire de stockage ne vous aiderait pas à accéder aux fichiers. &ndash HostileFork dit ne pas faire confiance à SE 27 août 19 à 6:10

Le répertoire par défaut est : /data/data/com.termux/files/home .

Étant donné que Termux prend en charge les commandes bash, l'utilisateur peut exécuter pwd pour imprimer le répertoire de travail actuel.

Remarque : pwd est un acronyme de pécume wtravail rectorat.

À condition que vous ne souhaitiez pas rooter votre téléphone, il est possible de modifier l'autorisation pour Termux (Paramètres-> Applications-> Termux-> Autorisations) et d'activer l'autorisation de stockage.

De cette façon, vous avez accès au stockage du téléphone et de la carte SD et vous pouvez l'utiliser en tant que superutilisateur (mv, ls et d'autres commandes fonctionnent comme prévu) dans l'application.

Ainsi, vous pouvez déplacer ou copier les fichiers dont vous avez besoin dans la mémoire interne.

Vous pouvez interroger la variable $HOME pour trouver le "dossier par défaut" quelle que soit l'application de terminal que vous utilisez :

Vous pouvez accéder aux fichiers dans le dossier termux en faisant simplement cela. (Sans utiliser d'application tierce/enraciner votre appareil)

Étape 1 : Accédez à Téléchargements sur votre appareil

Étape 3: Faites défiler jusqu'à ce que vous trouviez Termux

Étape 4: Cliquez sur Termux et vous pouvez voir vos fichiers

Vous pouvez le toucher sur data/data/com.termux/files/home . C'est le répertoire principal par défaut de Termux.

Il est impossible de trouver le fichier que vous avez créé dans le répertoire principal de Termux comme je l'ai mentionné ci-dessus sur votre téléphone car il n'est enraciné sur aucun appareil.