Opened 8 years ago

Closed 6 years ago

#998 closed defect (fixed)

Toolshed tool install gives long traceback when no permission to install for all users

Reported by: Tom Goddard Owned by: Conrad Huang
Priority: moderate Milestone:
Component: Tool Shed Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Tried installing SignalViewer from Toolshed for All Users and it gives a long traceback. Should give a user friendly permission denied error. Better yet, it shouldn't give me the choice if I do not have permission to write in that directory.

UCSF ChimeraX version: 0.5 (2018-01-09)
OpenGL version: 3.3.0 NVIDIA 388.13
OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
How to cite UCSF ChimeraX
Downloading bundle ChimeraX_SignalViewer-1.0-py3-none-any.whl
unloading module chimerax.signal_viewer
Traceback (most recent call last):

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\chimerax\core\ui\widgets\htmlview.py", line 313, in download_finished

session=self.session)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\chimerax\core\toolshed\init.py", line 500, in install_bundle

results = self._pip_install(bundle, per_user=per_user, reinstall=reinstall)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\chimerax\core\toolshed\init.py", line 695, in _pip_install

results = self._run_pip(command)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\chimerax\core\toolshed\init.py", line 718, in _run_pip

raise RuntimeError(output + error)

RuntimeError: Processing c:\users\goddard\downloads\chimerax_signalviewer-1.0-py3-none-any.whl
Requirement not upgraded as not directly required: ChimeraX-Core>=0.1 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: grako==3.16.5 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: msgpack-python>=0.5 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: suds-jurko==0.6 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Installing collected packages: ChimeraX-SignalViewer

Found existing installation: ChimeraX-SignalViewer 1.0

Uninstalling ChimeraX-SignalViewer-1.0:

Successfully uninstalled ChimeraX-SignalViewer-1.0

Rolling back uninstall of ChimeraX-SignalViewer

Exception:
Traceback (most recent call last):

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\basecommand.py", line 215, in main

status = self.run(options, args)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\commands\install.py", line 342, in run

prefix=options.prefix_path,

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_set.py", line 784, in install

kwargs

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_install.py", line 851, in install

self.move_wheel_files(self.source_dir, root=root, prefix=prefix)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_install.py", line 1064, in move_wheel_files

isolated=self.isolated,

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\wheel.py", line 345, in move_wheel_files

clobber(source, lib_dir, True)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\wheel.py", line 316, in clobber

ensure_dir(destdir)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\utils\init.py", line 83, in ensure_dir

os.makedirs(path)

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\os.py", line 220, in makedirs

mkdir(name, mode)

PermissionError: 5 Access is denied: 'C:
Program Files
ChimeraX-Jan-9-2018
bin
Lib
site-packages
chimerax
signal_viewer'

RuntimeError: Processing c:\users\goddard\downloads\chimerax_signalviewer-1.0-py3-none-any.whl
Requirement not upgraded as not directly required: ChimeraX-Core>=0.1 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: grako==3.16.5 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: msgpack-python>=0.5 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Requirement not upgraded as not directly required: suds-jurko==0.6 in c:\program files\chimerax-jan-9-2018\bin\lib\site-packages (from ChimeraX-Core>=0.1->ChimeraX-SignalViewer==1.0)
Installing collected packages: ChimeraX-SignalViewer
Found existing installation: ChimeraX-SignalViewer 1.0
Uninstalling ChimeraX-SignalViewer-1.0:
Successfully uninstalled ChimeraX-SignalViewer-1.0
Rolling back uninstall of ChimeraX-SignalViewer
Exception:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\commands\install.py", line 342, in run
prefix=options.prefix_path,
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_set.py", line 784, in install
kwargs
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\req\req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\wheel.py", line 316, in clobber
ensure_dir(destdir)
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\pip\utils\init.py", line 83, in ensure_dir
os.makedirs(path)
File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: 5 Access is denied: 'C:
Program Files
ChimeraX-Jan-9-2018
bin
Lib
site-packages
chimerax
signal_viewer'

File "C:\Program Files\ChimeraX-Jan-9-2018\bin\lib\site-packages\chimerax\core\toolshed\init.py", line 718, in _run_pip
raise RuntimeError(output + error)

See log for complete Python traceback.

If you wish to report this error, send mail to chimerax-bugs@… and describe what you were doing and include a copy of the contents of the log. Don't include any data you wish to remain private since a publicly viewable bug report will be created.

Change History (1)

comment:1 by Conrad Huang, 6 years ago

Resolution: fixed
Status: assignedclosed

Toolshed._pip_install catches PermissionError and converts it to a UserError instead of letting it through.

Note: See TracTickets for help on using tickets.