Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

paraview still seems to be needed via matplotlib #165

Closed
doutriaux1 opened this issue Apr 18, 2013 · 14 comments
Closed

paraview still seems to be needed via matplotlib #165

doutriaux1 opened this issue Apr 18, 2013 · 14 comments
Assignees

Comments

@doutriaux1
Copy link
Contributor

Today we started uvcdat before Paraview was built. UV-CDAT didn't start becasue matplotlib needs vtk vistrail module (why?) GUI should be able to start w/o vtk

@ghost ghost assigned benbu Apr 18, 2013
@benbu
Copy link
Member

benbu commented Apr 18, 2013

Is there a stack trace or other error message?

I don't see any mention of vtk in the matplotlib package, don't know how it's getting referenced.

@remram44
Copy link
Contributor

remram44 commented Jul 9, 2013

UV-CDAT still exits abrubtly with exit code 255 if the vtk VisTrails module is absent.

@remram44
Copy link
Contributor

The error message doesn't show up because of the way UV-CDAT redirects its output streams; in uvcdat.py, both the print "Uncaught exception" and the following print_exc() don't seem to end up anywhere.

The traceback is:

  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/uvcdat.py", line 83, in <module>
    v = gui.application.start_application()
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/application.py", line 680, in start_application
    x = VistrailsApplication.init(optionsDict)
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/application.py", line 160, in init
    self.createWindows()
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/application.py", line 533, in createWindows
    self.uvcdatWindow = UVCDATMainWindow()
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/uvcdat/mainwindow.py", line 72, in __init__
    self.createDockWindows()
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/uvcdat/mainwindow.py", line 138, in createDockWindows
    self.varProp = VariableProperties(self)
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/uvcdat/variable.py", line 116, in __init__
    self.createOpenDAPTab()
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/gui/uvcdat/variable.py", line 293, in createOpenDAPTab
    from packages.vtDV3D.RemoteDataBrowser import RemoteDataBrowser
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/packages/vtDV3D/__init__.py", line 76, in <module>
    from packages.vtDV3D.DV3DCell import *
  File "/Users/remirampin/Documents/workspace/install/vistrails/vistrails/packages/vtDV3D/DV3DCell.py", line 11, in <module>
    from packages.vtk.vtkcell import QVTKWidget, QVTKWidgetToolBar
ImportError: No module named vtk.vtkcell

This shows that the UV-CDAT UI tends to import stuff from packages...

Apart from spreadsheet, uvcdat and uvcdat_cdms:

gui.uvcdat imports vtDV3D
gui.application imports ParaView and VisIt
vistrails_window imports vtDV3D (with try-except)

packages.ParaView imports QVTKWidget from vtk (but does not declare a dependency)
pvclimate imports QVTKWidget from vtk (but declares the dependency incorrectly)
scikit_learn imports vis_analytics (declares the dependency)
uvcdat_cdms imports memoryLogger from vtDV3D (but does not declare a dependency)
vtDV3D imports vtk (declares a dependency)
vtDV3D imports pylab (declares a dependency)

This might be showing an issue with how logging is done as well.

@remram44
Copy link
Contributor

I've started working on fixing these in the branch uvcdat-165-fix-package-dependencies

@remram44
Copy link
Contributor

This is what I have:
dependency graph

uvcdat_cdms imports memoryLogger from vtDV3D.vtUtilities; should this really be inside the vtDV3D package?

@ThomasMaxwell
Copy link
Contributor

The memoryLogger refs are diagnostic code that should probably be removed when Ben and I complete our investigations of uvcdat memory leaks. Also, DV3D should not require matplotlib (the dependency is supposed to be optional).

From: Remi Rampin <notifications@github.commailto:notifications@github.com>
Reply-To: UV-CDAT/uvcdat <reply@reply.github.commailto:reply@reply.github.com>
Date: Thursday, July 11, 2013 4:51 PM
To: UV-CDAT/uvcdat <uvcdat@noreply.github.commailto:uvcdat@noreply.github.com>
Subject: Re: [uvcdat] paraview still seems to be needed via matplotlib (#165)

This is what I have:
[https://github-camo.global.ssl.fastly.net/2f61e7456d89039771f2bc97c591fcd95fdcd31c/687474703a2f2f692e696d6775722e636f6d2f5a4d466633754e2e706e67]https://github-camo.global.ssl.fastly.net/2f61e7456d89039771f2bc97c591fcd95fdcd31c/687474703a2f2f692e696d6775722e636f6d2f5a4d466633754e2e706e67

uvcdat_cdms imports memoryLogger from vtDV3D.vtUtilities; should this really be inside the vtDV3D package?


Reply to this email directly or view it on GitHubhttps://github.com//issues/165#issuecomment-20841285.

@remram44
Copy link
Contributor

Also, DV3D should not require matplotlib (the dependency is supposed to be optional).

vtDV3D.SlicePlotModule imports MplFigureCellWidget and MplFigureManager.

The import from init to SlicePlotModule was happening in yet another catch-all block, I replaced this with a test on has_package().

@aashish24
Copy link
Contributor

Please update this branch to current uvcdat-master as it was never tested and got aged.

@remram44
Copy link
Contributor

Hmm, I cannot merge with uvcdat-master as it is not related with the uvcdat-next branch I based this on.

I'm thus rebasing this with:

git checkout -b uvcdat-165-fix-package-dependencies_master
git rebase --onto uvcdat-master uvcdat-next

@remram44
Copy link
Contributor

The problems I see are:

  • pvclimate -> spreadsheet: dependency is conditional but pvclimate_pipeline_helper imports it
  • VisIt -> spreadsheet: dependency is conditional but visit_pipeline_helper imports it
  • vtk -> spreadsheet: dependency is conditional but vtkcell imports it

Dependency graph

blue: temporary memoryLogger deps
grey: conditional deps (safe)
red: problem

@doutriaux1
Copy link
Contributor Author

ok merged this branch into master can we close this, or is there still issues?

@remram44
Copy link
Contributor

remram44 commented Sep 3, 2013

There is nothing that should block a release.

I'm not sure about the spreadsheet dependencies in red, I think they should either be removed or appear as a package dependency if they are real. So somebody might want to check that.

@doutriaux1
Copy link
Contributor Author

ok closing for now.

@aashish24
Copy link
Contributor

@doutriaux1 Lets keep it open until we resolve this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants