-
Notifications
You must be signed in to change notification settings - Fork 42
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
Move All Package Dependencies to a Single Place (Trac #681) #811
Comments
Trac update at This may help... '''SasView'''
'''SasModels'''
|
Trac update at Is sasmodels mature enough to release as a separate pypi component? Then it becomes just another dependency as far as sasview is concerned, with the same coordination requirements as bumps. May want to move sasview_model.py from sasmodels to sasview first, but not required. |
Trac update at
to:
|
Trac update at I started working on this and soon it became apparent that the scope is much wider, especially considering move to Anaconda. We want a set of package definitions (name-version) which developers can modify and which will be used on the build server to create appropriate environment in which sasview and sasmodels are built. This means combining conda channels, pip installation and local packages from Gohlke's archive. |
Trac update at
|
Trac update at Basically, anything which depends on significant third party libraries might be a problem if pip tries to install it. Pypi has binary wheels for some of these, with more available for windows than for mac. Anaconda has most of them, as do other python environments for windows. They are:
The remaining direct requirements have no C dependencies and can be installed via pip. Some of them may also be available as system packages in linux or anaconda:
We are supporting bumps and periodictable; they can be pip installed or git cloned, depending on whether you want to work on them:
As Piotr's list above show, there are some indirect dependencies as well:
OpenCL is a bit special since it is not available in anaconda or as binary wheels. I think "pip install pyopencl" worked for the mac (it already has the required drivers, headers and libraries). For windows I had to install the drivers and then used prebuilt binaries.* On linux I built my own packages. Ubuntu has packages for the headers and libraries, but I don't know about Fedora. Vendor drivers can be a bit challenging on linux...
|
Trac update at
Much of this has been superseded with Anaconda and yml files. However we now have 5 files each "hard coding" the dependencies.
They do have different roles but we should just have maybe the requirements file and import that information into each of the other places.
|
This is something we've been putting a lot of effort locally. in the 5.0 branch we use platform-specific (although very similar) yaml files for sourcing packages. This is done with explicit versioning, so potential for conflicts is minimized. |
check what the right dependencies are for each package (sasmodels, sasview) and make sure setup.py calls the required ones.
Can we make it have optional requirements? e.g. is matplotlib actually required for sasview to function (might not want lots of dependencies for deployment on cluster/aws etc)
Migrated from http://trac.sasview.org/ticket/681
The text was updated successfully, but these errors were encountered: