biolab / orange3-imageanalytics

🍊 :rice_scene: Orange3 add-on for dealing with image related tasks
GNU General Public License v3.0
32 stars 42 forks source link

Image Analytics: issue installing on Windows #169

Closed ajdapretnar closed 4 years ago

ajdapretnar commented 4 years ago
Image Analytics version

0.4.0 - 0.4.1

Orange version

3.23.1

Expected behavior

Image Analytics installs ok.

Actual behavior

Image Analytics fails.

Steps to reproduce the behavior

Windows 10.

Additional info (worksheets, data, screenshots, ...)
Requirement already up-to-date: Orange3-ImageAnalytics in c:\users\biolab\appdata\local\orange\lib\site-packages (0.4.1)
Requirement already satisfied, skipping upgrade: lockfile in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (0.12.2)
Requirement already satisfied, skipping upgrade: scipy in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (1.2.1)
Collecting pillow>=6.2.0 (from Orange3-ImageAnalytics)
  Downloading https://files.pythonhosted.org/packages/2c/ee/289ddb9884665aba9ad10d88c4edf867b87bcb93e3acbeeac41d30d87865/Pillow-6.2.1-cp36-cp36m-win_amd64.whl (2.0MB)
Requirement already up-to-date: Orange3<4.0a,>=3.20 in c:\users\biolab\appdata\local\orange\lib\site-packages (from -c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (3.23.1)
Requirement already satisfied, skipping upgrade: ndf>=0.1.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (0.1.4)
Requirement already satisfied, skipping upgrade: requests in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (2.22.0)
Requirement already satisfied, skipping upgrade: numpy==1.16.* in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (1.16.4)
Requirement already satisfied, skipping upgrade: cachecontrol in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (0.12.5)
Requirement already satisfied, skipping upgrade: hypertemp in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3-ImageAnalytics) (0.8.0)
Requirement already satisfied, skipping upgrade: openTSNE>=0.3.11 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.3.11)
Requirement already satisfied, skipping upgrade: serverfiles in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.3.0)
Requirement already satisfied, skipping upgrade: python-louvain>=0.13 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.13)
Requirement already satisfied, skipping upgrade: scikit-learn>=0.20.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.21.2)
Requirement already satisfied, skipping upgrade: setuptools>=36.3 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (41.0.1)
Requirement already satisfied, skipping upgrade: docutils in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.15.2)
Requirement already satisfied, skipping upgrade: pyyaml in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (5.1.2)
Requirement already satisfied, skipping upgrade: xlsxwriter in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (1.1.8)
Requirement already satisfied, skipping upgrade: pyqtgraph>=0.10.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.10.0)
Requirement already satisfied, skipping upgrade: joblib>=0.9.4 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.13.2)
Requirement already satisfied, skipping upgrade: pip>=9.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (19.2.2)
Requirement already satisfied, skipping upgrade: networkx in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (2.3)
Requirement already satisfied, skipping upgrade: bottleneck>=1.0.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (1.2.1)
Requirement already satisfied, skipping upgrade: AnyQt>=0.0.8 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.0.10)
Requirement already satisfied, skipping upgrade: keyring in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (18.0.0)
Requirement already satisfied, skipping upgrade: xlrd>=0.9.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (1.2.0)
Requirement already satisfied, skipping upgrade: orange-widget-base<4.1a,>=4.0a in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (4.0.1)
Requirement already satisfied, skipping upgrade: chardet>=3.0.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (3.0.4)
Requirement already satisfied, skipping upgrade: matplotlib>=2.0.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (3.1.1)
Requirement already satisfied, skipping upgrade: orange-canvas-core<0.2a,>=0.1.7 in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.1.7)
Requirement already satisfied, skipping upgrade: pandas in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.25.1)
Requirement already satisfied, skipping upgrade: keyrings.alt in c:\users\biolab\appdata\local\orange\lib\site-packages (from Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (3.1.1)
Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in c:\users\biolab\appdata\local\orange\lib\site-packages (from requests->Orange3-ImageAnalytics) (2.8)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in c:\users\biolab\appdata\local\orange\lib\site-packages (from requests->Orange3-ImageAnalytics) (2019.6.16)
Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\biolab\appdata\local\orange\lib\site-packages (from requests->Orange3-ImageAnalytics) (1.24.2)
Requirement already satisfied, skipping upgrade: msgpack in c:\users\biolab\appdata\local\orange\lib\site-packages (from cachecontrol->Orange3-ImageAnalytics) (0.6.1)
Requirement already satisfied, skipping upgrade: h2!=2.5.0,<3.0,>=2.4 in c:\users\biolab\appdata\local\orange\lib\site-packages (from hypertemp->Orange3-ImageAnalytics) (2.6.2)
Requirement already satisfied, skipping upgrade: hyperframe<4.0,>=3.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from hypertemp->Orange3-ImageAnalytics) (3.2.0)
Requirement already satisfied, skipping upgrade: rfc3986<2.0,>=1.1.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from hypertemp->Orange3-ImageAnalytics) (1.3.2)
Requirement already satisfied, skipping upgrade: brotlipy<1.0,>=0.7.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from hypertemp->Orange3-ImageAnalytics) (0.7.0)
Requirement already satisfied, skipping upgrade: pynndescent>=0.3 in c:\users\biolab\appdata\local\orange\lib\site-packages (from openTSNE>=0.3.11->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.3.0)
Requirement already satisfied, skipping upgrade: decorator>=4.3.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from networkx->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (4.4.0)
Requirement already satisfied, skipping upgrade: entrypoints in c:\users\biolab\appdata\local\orange\lib\site-packages (from keyring->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.3)
Requirement already satisfied, skipping upgrade: pywin32; sys_platform == "win32" in c:\users\biolab\appdata\local\orange\lib\site-packages (from keyring->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (223)
Requirement already satisfied, skipping upgrade: cycler>=0.10 in c:\users\biolab\appdata\local\orange\lib\site-packages (from matplotlib>=2.0.0->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.10.0)
Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in c:\users\biolab\appdata\local\orange\lib\site-packages (from matplotlib>=2.0.0->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (1.1.0)
Requirement already satisfied, skipping upgrade: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\users\biolab\appdata\local\orange\lib\site-packages (from matplotlib>=2.0.0->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (2.4.2)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in c:\users\biolab\appdata\local\orange\lib\site-packages (from matplotlib>=2.0.0->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (2.8.0)
Requirement already satisfied, skipping upgrade: commonmark in c:\users\biolab\appdata\local\orange\lib\site-packages (from orange-canvas-core<0.2a,>=0.1.7->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.8.1)
Requirement already satisfied, skipping upgrade: pytz>=2017.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from pandas->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (2019.2)
Requirement already satisfied, skipping upgrade: six in c:\users\biolab\appdata\local\orange\lib\site-packages (from keyrings.alt->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (1.12.0)
Requirement already satisfied, skipping upgrade: hpack<4,>=2.2 in c:\users\biolab\appdata\local\orange\lib\site-packages (from h2!=2.5.0,<3.0,>=2.4->hypertemp->Orange3-ImageAnalytics) (3.0.0)
Requirement already satisfied, skipping upgrade: cffi>=1.0.0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from brotlipy<1.0,>=0.7.0->hypertemp->Orange3-ImageAnalytics) (1.12.3)
Requirement already satisfied, skipping upgrade: numba>=0.39 in c:\users\biolab\appdata\local\orange\lib\site-packages (from pynndescent>=0.3->openTSNE>=0.3.11->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.45.1)
Requirement already satisfied, skipping upgrade: future in c:\users\biolab\appdata\local\orange\lib\site-packages (from commonmark->orange-canvas-core<0.2a,>=0.1.7->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.17.1)
Requirement already satisfied, skipping upgrade: pycparser in c:\users\biolab\appdata\local\orange\lib\site-packages (from cffi>=1.0.0->brotlipy<1.0,>=0.7.0->hypertemp->Orange3-ImageAnalytics) (2.19)
Requirement already satisfied, skipping upgrade: llvmlite>=0.29.0dev0 in c:\users\biolab\appdata\local\orange\lib\site-packages (from numba>=0.39->pynndescent>=0.3->openTSNE>=0.3.11->Orange3<4.0a,>=3.20->-c C:\Users\biolab\AppData\Local\Temp\tmpbybw0vv9.txt (line 1)) (0.29.0)
Installing collected packages: pillow
  Found existing installation: Pillow 5.4.1
    Uninstalling Pillow-5.4.1:
      Successfully uninstalled Pillow-5.4.1
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'c:\\users\\biolab\\appdata\\local\\orange\\lib\\site-packages\\~il\\_imaging.cp36-win_amd64.pyd'
Consider using the `--user` option or check the permissions.
PrimozGodec commented 4 years ago

It is probably not an ImageAnalytics issue, but it is strange anyway. I do not understand why access should be denied when installing in the local environment. What happens when you install any other package Orange3-text or any other?

ajdapretnar commented 4 years ago

I'll check. I was just rushing to write this down during a workshop. :)

ajdapretnar commented 4 years ago

Does not happen on Text.

ajdapretnar commented 4 years ago

Seems related to Pillow dependency, hence why it doesn't appear elsewhere: https://stackoverflow.com/questions/54240560/environment-error-while-trying-to-install-pillow-for-python-on-my-mac

PrimozGodec commented 4 years ago

This seems strange. From the error message, it is visible that the installation process wants to write to 'c:\\users\\biolab\\appdata\\local\\orange\\lib\\site-packages\\~il\\ which should not be protected - in this canes Orange is installed locally (just for me). And I do not have any Windows machine where I could reproduce the error. :( The error described in the link you provided shows the other issue. The user there wanted to install something with pip on the location where he needs a sudo privileges.

ajdapretnar commented 4 years ago

I tried this on our lab Win machines and the behaviour is the same. Orange is installed with standard installer and I tried installing ImageAnalytics with Options - Add-ons. Nothing out of the ordinary. I don't understand why everything installs normally but this one.

PrimozGodec commented 4 years ago

This issue looks weird. It only happens when updating image-analytics addon with Orange (from addon dialog). I tried to run the same command that Orange do in the same environment and everything was OK. Then I tried to write a Python script that uses subprocess.Popen with exactly the same arguments that Orange uses and the error didn't happen again. I was able to reproduce it only with Orange add-on dialog. I do not understand why is it happening? @ales-erjavec do you have any idea?

Steps to reproduce the issue

On Windows install Orange3-imageanalytics==0.4.0 and Pillow==6.1.* in the Orange's conda environment (on that comes together with installer). They must be installed by pip. The open Orange and update ImageAnaytics with add-on dialog.

The issue does not happen when addons are installed by conda.

ales-erjavec commented 4 years ago

I am assuming this is a standard pip's inability to replace pyd/exe files that are loaded/used by another process.

To duplicate it all I need to do is have a second python interpreter running (from the same env) that has PIL.Image imported.

PrimozGodec commented 4 years ago

@ales-erjavec so there is no way to fix it right?

ales-erjavec commented 4 years ago

This can only be fixed in pip.

Although somewhat misleading the installation/upgrade did in-fact succeed. The error happens in temporary backup cleanup after pip already moved all files into proper place, it just does not distinguish OS errors from the installation and its temp backup directory cleanup.

PrimozGodec commented 4 years ago

Thank you @ales-erjavec then I am closing this issue.