Comments (13)
Hi Sarvesh, Thanks for that. I haven't had time to go over it in much detail, and frankly have very little experience with docker, but someone on the team with more experience than me will take a look. I noticed a few things of concern: 1) it appears it might be specific to debian whereas we want to also support mac and windows (part of the inspiration to look into docker), 2) it is built on master when our primary inspiration for looking into docker was that the new complexity in our dev branch is creating the conda environment issues, and 3) what is port 8000 being used for?
Thanks again for the suggestions and we'll take a closer look!
from hypercp.
Hey @oceancolorcoder, I would like to work on this.
from hypercp.
Hi @alexdeathway,
Thanks for your interest. If you have any tips or advice on making it run (PyQt5 GUI and all) in a docker container to make it more portable, that would be great. Let us know what you have in mind.
from hypercp.
@oceancolorcoder tried prototyping https://github.com/alexdeathway/HyperInSPACE/tree/docker-beta0.2 .
from hypercp.
This was just an outline for the docker setup so a couple of loose ends, nothing much of detailed analysis is required, Now coming to concerns.
-
Yeah, it was specific to Linux, as mac and windows require additional software and host configuration (not much on Mac) for running GUI from docker to be precise mac would need xquarts and windows will need vxcsrv, we can tackle this issue by either introducing guide into docs or setting up script which help in creating Config file which can be used by container to set up the docker as per host.
-
Will look into it thought we have latest on master. Documented log about current issues with Conda and Tagging along with someone working on latest features will be helpful in avoiding black box like scenario.
-
Been working on a lot of Django projects, guess muscle memory kicked in for port.
Feel free to propose a guideline for docker setup
from hypercp.
We have a PyInstaller thanks to Nils and commit efa2445. I will close this issue after some testing.
from hypercp.
I've done some testing, following README_bundle.md in Linux (Ubuntu 18.04 LTS)
-
I get
============================================================= A RecursionError (maximum recursion depth exceeded) occurred. For working around please follow these instructions ============================================================= 1. In your program's .spec file add this line near the top:: B20 2. Build your program by running PyInstaller with the .spec file as argument:: pyinstaller myprog.spec 3. If this fails, you most probably hit an endless recursion in PyInstaller. Please try to track this down has far as possible, create a minimal example so we can reproduce and open an issue at https://github.com/pyinstaller/pyinstaller/issues following the instructions in the issue template. Many thanks. Explanation: Python's stack-limit is a safety-belt against endless recursion, eating up memory. PyInstaller imports modules recursively. If the structure how modules are imported within your program is awkward, this leads to the nesting being too deep and hitting Python's stack-limit. With the default recursion limit (1000), the recursion error occurs at about 115 nested imported, with limit 2000 at about 240, with limit 5000 at about 660
-- -
After following workaround proposed above, I get
ImportError: cannot import name 'Sequence' from 'collections'
- Replaced collections by collections.abc in pyinstaller.py (following this). then I get:
3074 WARNING: Failed to collect submodules for 'pyqtgraph.opengl' because importing 'pyqtgraph.opengl' raised: ModuleNotFoundError: No module named 'OpenGL' qt.qpa.xcb: X server does not support XInput 2 509861 WARNING: Hidden import "sklearn.neighbors._typedefs" not found! 524995 WARNING: Hidden import "MySQLdb" not found! 524995 WARNING: Hidden import "psycopg2" not found! 532794 INFO: Loading module hook 'hook-PyQt5.QtSvg.py' from '/tcenas/proj/ocean/color/conda/miniconda3/envs/hypercp/lib/python3.10/site-packages/PyInstaller/hooks'... /tcenas/home/gossn/.bashrc: line 221: bind: warning: line editing not enabled
from hypercp.
Updated with commit d7bdca9. The only thing remaining is an Apple Developer signature. Will hold open for now. Thanks Nils!
from hypercp.
Windows bundle failed due to change in filename of banner, I didn't anticipate during merge... I will fix and test asap.
macOS and Ubuntu bundles are not affected and are available for download.
from hypercp.
Tested Linux bundle from https://github.com/nasa/HyperCP/actions/runs/6670838805 on linux 5.4.0-150-generic #167-Ubuntu with the following result:
(base) daurin@gs616-analysis702:~/Applications/HyperCP-v1.2.0-Linux/HyperCP-v1.2.0-Linux$ ./HyperCP-v1.2.0-Linux
Traceback (most recent call last):
File "Main.py", line 18, in <module>
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /accounts/daurin/Applications/HyperCP-v1.2.0-Linux/HyperCP-v1.2.0-Linux/_internal/libX11.so.6)
[3752434] Failed to execute script 'Main' due to unhandled exception!
from hypercp.
Local build on same also fails with:
(hypercp) daurin@gs616-analysis702:~/GitRepos/HyperCP/Bundled/dist/HyperCP-v1.2.0-Linux$ ./HyperCP-v1.2.0-Linux
INFO:root:Running from PyInstaller bundle
ERROR:root:Traceback (most recent call last):
File "Main.py", line 24, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 391, in exec_module
File "Source/Controller.py", line 18, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 391, in exec_module
File "Source/ProcessL1b.py", line 19, in <module>
File "PyInstaller/loader/pyimod02_importers.py", line 391, in exec_module
File "Source/FidradDB_api.py", line 2, in <module>
ModuleNotFoundError: No module named 'ocdb'
[3803363] Failed to execute script 'Main' due to unhandled exception!
from hypercp.
I tested on Ubuntu, and it worked fine, not sure about the first issue but second one seem to be Conda missing dependency, by the way why we are bundling based on Conda doesn't that just add another layer of abstraction and transfer Conda problem to next layer?
from hypercp.
Thank you for testing. Good to hear it worked for you. It is a fair question regarding Conda, but not one I can personally answer.
from hypercp.
Related Issues (20)
- Add SoRad platform (medium term issue)
- BRDF (M02 & L11) not being properly applied (top priority) HOT 4
- Trios exemple L2 issue when writing seabass HOT 3
- Propagation of 6S HOT 7
- Radiometric units dropped for Full-FRM regime at L1B
- 6S propagation to L2 does not match radiometry HOT 1
- Improved BRDF uncertainty propagation HOT 1
- BRDF All-NaN error (hard to reproduce) HOT 4
- Cosine Correction uncertainties in FRM regime HOT 1
- Merging conflict in ProcessBRDF and relaz convention
- Failed 6S at L1B needs catch resolution HOT 9
- Failed BRDF needs a catch and resolution HOT 1
- NaN and 0 values returned by 6S HOT 9
- L11 BRDF crash HOT 5
- PIU.HyperOCR.darkToLightTimer fail HOT 2
- PIU returns random=None for Lw_Convolved HOT 2
- PIU dimension propagation issue HOT 9
- Multi-threading scripted calls hang on punpy for Z17 HOT 6
- Multi-threading Trios raw fails HOT 2
- Key error headerBlock['comments'] HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hypercp.