IGNF / NeatMap

A simple QGIS python plugin for building tidy cities.
GNU General Public License v3.0
20 stars 3 forks source link

Installation error Win7 #10

Open bhoudusse opened 5 years ago

bhoudusse commented 5 years ago

Hello,

New to Github, I started by commenting a simila closed issue.

Here is the new one :

i'm a French user and I have a similar problem on my professional PC (Win 7, Qgis 3.6.0, Python 3.7.0)

In my case, it seems to be a problem with the installation of pip ; i tried to reinstall the lib with the Qgis' advanced installer, but the problem message still occurs : see captured message at the end

I tried to do the quick tests you propose:

Traceback (most recent call last): File "C:\OSGEO4\~1\apps\Python37\lib\code.py", line 90, in runcode exec(code, self.locals) File "", line 1, in File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 672, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'pip'

I'd really like to help, because I'd like to test the plugin against some of my data (I'm an archeologist and I'm really interested in testing morphological indicators.

Bertrand

Captured error message at Qgis launch :

Impossible de charger l'extension 'NeatMap' provoque une erreur lors de l'appel à sa méthode classFactory()

ModuleNotFoundError: No module named 'pip' Traceback (most recent call last): File "C:/Users/bhoudusse/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\NeatMap\classification.py", line 9, in from pip._internal import main File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 672, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'pip'

         During handling of the above exception, another exception occurred:

         Traceback (most recent call last):
          File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 335, in startPlugin
          plugins[packageName] = package.classFactory(iface)
          File "C:/Users/bhoudusse/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\NeatMap\__init__.py", line 34, in classFactory
          from .neatmap import NeatMap
          File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 672, in _import
          mod = _builtin_import(name, globals, locals, fromlist, level)
          File "C:/Users/bhoudusse/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\NeatMap\neatmap.py", line 38, in 
          from .classification import *
          File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 672, in _import
          mod = _builtin_import(name, globals, locals, fromlist, level)
          File "C:/Users/bhoudusse/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\NeatMap\classification.py", line 16, in 
          from pip._internal import main
          File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 672, in _import
          mod = _builtin_import(name, globals, locals, fromlist, level)
         ModuleNotFoundError: No module named 'pip'

Originally posted by @bhoudusse in https://github.com/IGNF/NeatMap/issues/4#issuecomment-467378813

mbrasebin commented 5 years ago

Hello,

thank you for the feedback, I will be a try in a few day but not immediately.

Can you tell me which version of the plugin do you use ? Normally, the code is now not supposed to use pip but pip3 (like in this class : https://github.com/IGNF/NeatMap/blob/master/classification.py). Is it the version 1.2.0 of the plugin ?

Can you test the following lines in your QGIS python console ;

import subprocess
subprocess.call(['pip3', 'install', '-U', 'scikit-learn'])
from sklearn import datasets

It is a sensitive point of the plugin, and I was sure that there are some mistakes.

Mickaël

bhoudusse commented 5 years ago

Hello Mickaël

thanks for replying. Glad to help !

I'm using the version 1.2 (so tells me the plugin installer from Qgis)

First I tried to test the code lines you provide, but it sends me back another error message.

Then i red again your answer and noticed something : you were talking about pip3. But I wasn't sure it was part of my Python installation : as a simple Windows user, i didn't installed Python because it comes with the Qgis installation.

Howewer, I'm using Qgis "Osgeo4W network installer" to do all my installations and updates : so I ran it again and checked what library packages were installed. I found that pip was selected but not pip3, for a reason I completely don't know of, because I usually don't tick or untick the predefined choices in the libraries part. Therefore I ticked it (pythonpip3), ran the update and restarted Qgis.

And VOILA ! At Qgis starting, a window opened showing the downloading of scikit, then Qgis finished its starting up, and your plugin was finally here and working !!

So the error might be in my case the lack of pip3 library, but I really don't know why it wasn't included in the predefined packages of Qgis 3 installation.

I have managed to run some tests on cadastral data, but nothing I'm proud enough to show for the moment !

mbrasebin commented 5 years ago

Hello,

thank you for the feedback and for the test. I thought that for python 3.0 and more recent pip3 is installed by default, even for python embedded in QGIS (it seemed to be the case for QGIS 3.4 ?).

I keep the ticket open in order not to forget to test this (and notably, if pip3 is checked by default during the installation process).

I hope that the plugin will be useul for you and if you have some idea to improve it, do not hesitate to ask.

Mickaël

bhoudusse commented 5 years ago

Hello Mickaël,

I will check on my side if I have the opportunity to install Qgis from scratch on another computer. I ran only a few tests with some not so relevant data, but the plugin works well. I have to dive a little more in it to say if it's really useful for the kind of data I'm dealing with.

I may some ideas, but I didn't look carefully at what your plugin does exactly, so I don't know if the tools described below could be an improvement : i was thinking that some tools from the Morphal plugin (openJump] plugin) could be ported in yours, if they're not some sort of duplicates ? Another link to what this tool does in this article

mbrasebin commented 5 years ago

Hello,

thank you for the feedback, If you need some extra explanation do not hesitate to ask.

Thank you also for the article, some of the indicators used in NeatMap are the same as in this article but maybe with different names. In fact, @julienperret and I used to work with Eric Grosso so that is not a coincidence :). If you are interested, I can make the correspondence between the NeatMap indicators (which maybe need to be more detailed) and the indicators of the paper.

Best regards,

Mickaël

KalipheGTU commented 4 years ago

Impossible de charger l'extension 'aChor' provoque une erreur lors de l'appel à sa méthode classFactory()

ModuleNotFoundError: No module named 'fiona' Traceback (most recent call last): File "C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python\qgis\utils.py", line 334, in _startPlugin plugins[packageName] = package.classFactory(iface) File "C:/Users/**/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\aChor__init__.py", line 35, in classFactory from .aChor import aChor File "C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python\qgis\utils.py", line 744, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Users/*****/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\aChor\aChor.py", line 46, in import fiona, logging, csv, time File "C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python\qgis\utils.py", line 744, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'fiona'

Version de Python : 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] Version de QGIS : 3.12.0-București București, cd141490ec

mbrasebin commented 4 years ago

Bonjour,

votre erreur semble venir d'une autre extension de QGIS : aChor (https://github.com/Ariel505/aChor). Je ne saurais vous aider.

Mickaël

KalipheGTU commented 4 years ago

Bonjour merci pour votre aide, mais le problème a commencé depuis que j'ai installé l'extension neatMAP, avant y avait pas ce problème. cordialement