Compiling a standalone out of a bunch of files that cannot be converted into a standalone with pyinstaller - python-standalone

My project has been getting a lot of new features, JSON files and HTML files. It turned out to be so that compiling a --onefile with pyinstaller is impossible with a that complicated program. Are there any other ways to let my user install my project without having Python installed in a handy way?
I have actually seen people making their projects able to be installed using certain commands in the terminal. What do you think about doing a similar thing? Or I should rather do it in a different way?

Related

How do I install a GIMP plugin using 'make install'?

I am trying to install 'David's Batch Processor' in order to batch convert multiple very large folders of RAW images to jpeg. I have tried using this guide to install the plugin, but it is very unclear what files I should move and where, since none of the files provided on the DBP website are saved as .py or SCM. The DBP website says I need "g++ and the gimp development packages for the appropriate Gimp version ". I have never used g++ or used any gimp development packages before. I feel like I'm way over my head but would like to learn how to do this!
g++ is a C++ compiler (actually a thin front-end over gcc).
Normally you would just do make; make install but this requires some other tools such as make that are part of the build-essentials package on Linux.
DBP has a competitor (or successor, since DBP updates seem to have stopped in 2013) called BIMP, and its GitHub page has instructions to build it on macOS. And even if you prefer DBP these instructions may apply in good part to DBP.

How to create distribution of Python GTK3 app?

I made an application using GTK3 on Windows (Mingw_x64 installation of GTK) and I cannot really figure out how to make a distribution out of this. According to official documentation of PyGObject, it is possible in some way.
I already tried to make a package using setuptools, but PyGObject documentation is not saying much about this process and I was not able to configure setup correctly to make it work. PyGObject has a lot of dependecies and weird imports, that I do not know how to include.
I also tried Pyinstaller, which claims it has GTK support, and it really can pack it into executable, however it is not working. I tried these two options:
make only one file (.exe), but in this situations, it throws an error, that some file is not found (libpixbufloader-ani.dll)
create a directory with all needed files (libpixbufloader-ani.dll and other libs are included this time), but when running exe, another exeption occurs, this time Struct and 2 other libraries are missing (strangely, there is a folder that contains Struct)
Becouse of the missing files, I tried adding as many paths containing needed libraries as possible to Pyinstaller, but without success.
Does anyone have any experience with packaging GTK appliciations in Python? There is definitely a way to do this, but I am not very experienced with packaging. If needed, I can provide more information.
This is an issue that has been brought up on PyInstaller's GitHub page, as others (including myself) have experienced the same issue that you've mentioned.
The last time I tried the dev version of PyInstaller, the issue still wasn't fixed, but I managed to get a working executable by using PyInstaller to find the dependencies that my Python3/GTK3 app needed, and then I used cx_Freeze to generate the final executable.

How do I install gtk-fortran on windows 8?

I want to build a GUI for some fortran code I have. GTK-Fortran seemed like a simple option, but I'm having trouble getting everything installed in the correct place.
I am using Windows 8. I have gfortran (version 4.8.1), Cmake, and GTK+ 3 installed. As far as I can tell, the last thing I need to do is include GTK-Fortran, which I download from https://github.com/jerryd/gtk-fortran (the link to download the .zip file is on the right side of the page), but all of the instructions on what to do with it are incredibly vague to me. The INSTALL instructions seem to want me to make a new directory, C:\build, and then do something with cmake, but I'm not sure what that something is or how to do it.
I have GTK+ 3 in C:\GTK, and its bin is included in the path. I would like to just put the GTK-Fortran files within the GTK folder, but I don't think that will actually give me access to the GTK-Fortran files.
Could someone give me very clear instructions on what to do with the files for GTK-Fortran so that I can call them from my own fortran code?
The simplest way for using gtk-fortran under Windows is to install MSYS2/MINGW64, following the installation steps described in the wiki of the project:
https://github.com/vmagnin/gtk-fortran/wiki#windows

Eyewriter 2.0 Compiling Errors

I'm currently working on the eyewriter 2.0, with the idea that if I can get it working, we can recommend the DIY to our ALS patients and their families.
However, I've been running into many complications while trying to get the software up and running.
I'm currently running Windows 8.1.
I have installed currently Code::Blocks 12.11 and OpenFrameworks v.0.7.4.
I have the openframeworks additions for Code::Blocks installed.
I have successfully run multiple example programs in openframeworks.
I have tried various combinations of C::B and OF such as the following:
13.12 and v.0.8.4;
13.12 and v.0.8.0;
12.11 and v.0.8.0;
12.11 and v.0.7.4;
10.05 and v.0.6.1 FAT pre-release;
10.05 and v.0.6.2 FAT pre-release;
The most common error I have been getting is "fatal error: gl\glew.h: no such file or directory" for the line #include "GL\glew.h" in the ofConstants.h
I'm able to eliminate this error by finding the file manually and inserting the path (i.e. C:/.../.../.../glew.h). However, there are many, many, more errors similar to this which causes the manual correction to be very tedious.
I'm suspecting that the problem is due to my newb ignorance of the proper file structure. I haven't changed the structure from the zipped file which can be found on github.
Location of Workspace: C:\openframeworks\apps\eyewriter-master\eyeWriterTracker\RemoteEyeTracker.workspace
Location of glew.h: C:\openframeworks\libs\openFrameworks\gl\glew.h
Has anyone had any success building this on a windows machine? Are there any obvious mistakes that I am making? I'm fairly certain that I'm making noobish mistakes, as I'm new to frameworks and my C++ knowledge is moderately limited.
Is this perhaps easier to do in Ubuntu? I do have the possibility of using Ubuntu in Oracle VM, although not ideal as the purpose is to allow ease of communication to ALS patients and this would add another step in the process even after it's built.
I also am aware that there are already pre-compiled versions of the Eyewriter software available, but I would like to use that only as a last resort when all other resources have been exhausted.
Thanks!
Make a new project with projectGenerator(add neccessary addons)
Add files from eyewriter to your new project
That project is really old, so there will be a lot of changes, oF documentation will come in handy
have fun !

Totally Lost on "Installing" OpenCV / ctypes-opencv for Python 3

edit: The real solution to this is now that OpenCV supports python 3. I'm leaving the details below for anyone who happens to be stuck with an old setup.
I'm trying to get OpenCV working with Python 3. A friend showed me ctypes-opencv that appears to work with Python 3. The problem is I totally can not figure out how to "install" or get any code working. I've followed all instructions I could find from a few people mentioning installs on google and none of those seemed to work or I couldn't even get through the basics that they mentioned.
I am just hacking around with the version of IDLE that came with Python 3. No IDE.
Start with OpenCV:
The only windows installer for OpenCV 2.1 is a visual studio installer. I assume that means that it installs files that make it easier to use in Visual Studio. However, does it also mean that I can't use that installer with Python 3? I tried the vs installer together with ctypes-opencv as below, and I got errors that the dlls were not in my path (but my path variable did include the OpenCV bin folder with dlls). Is this the wrong direction?
The apparent alternative is to build OpenCV myself. I tried following the directions here and all I get is "project files may be invalid" from the CMake gui application when pressing the "Configure" button. Same when following these hints from Stack Overflow. I'm suspicious that this is also the wrong direction since I am not currently using any of the tools that are listed in the CMake configure. Is this also the wrong direction?
Next ctypes-opencv:
I installed this and the installer recognizes Python3.1 and puts itself into the site-packages folder. If I try to run demos, it tells me the dlls are not in the path although they are, as mentioned above.
Summary:
I think I generally understand each piece here (code, compile, dll, imports, ...) but I do not know how all the pieces fit together and where I am going wrong. Can someone please tell me what steps or understanding I am missing here?
I get the feeling that I need to be reading a book or two to fill in the holes in my understanding of how all these pieces fit together. I wouldn't even know what area of books to get though so any suggestions there would be appreciated as well.
Python's ctypes is a wrapper around the opencv dll files, as long as you can point to the compiled libraries it doesn't matter what the source code is set up to be edited in. For windows I would simply run the installer, then try to load the dll with ctypes. If you can get that far, any other errors can be fixed by looking at the ctypes wrapper file and editing the load section to look like your test file.
Christoph Gohlke maintains Windows binaries for many Python packages, including the production version of OpenCV 3.0 with Python 3.x bindings, released 4 June 2015:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
To install, just download the 64-bit or 32-bit .whl file appropriate for your system, then run pip install [filename]. Then the instruction import cv2 should work in your Python 3.x interpreter.
Yakiimo san, OpenCV 2.1 DLL can be loaded with ctypes. I have tested it.
p.s. I have set the C;\OpenCV2.1\bin in Env Path.

Resources