Windows, but can switch to Linux
Unfortunately, the --debug mode that shows the console output is broken on Windows. So to see the console output you need to run Cura from source. This is a bit involved, but here's my shortcut.
In a project folder, check out Cura (from https://github.com/ultimaker/cura.git), Uranium (from https://github.com/ultimaker/uranium.git) and libCharon (from https://github.com/ultimaker/libcharon.git), each in thier own folder. Also create a folder named "bin". In that folder, you need to copy a number of files from the Cura 4.3 that you have installed:
project\ Cura\ ... files from Cura.git ... Uranium\ ... files from Uranium.git ... libCharon\ ... files from libCharon.git ... bin\ CuraEngine.exe Arcus.pyd Savitar.pyd libgcc_s_seh-1.dll libgomp-1.dll libifcoremd.dll libimalloc.dll libiomp5md.dll libmmd.dll libstdc++-6.dll libwinpthread-1.dll
Add the full path to the Uranium, libCharon and bin folders to your PYTHONPATH environment variable.
Then you need to install a couple of python modules through pip or otherwise: colorlog, numpy, pyqt5, pyserial, scipy, trimesh, zeroconf.
With all that done, you should finally be able to launch cura with ````````````"python cura_app.py" from the Cura folder and get all the console output as Cura starts. With "python -m pdb cura_app.py" you should be able to use the python debugger, but I don't use it much.
-
3
Thanks, this is great help!
I was worried that I need to execute those 100+ steps to fully compile Cura.
Perhaps someone should post this to the wiki on GitHub.
I'm not sure if I missed any steps; it has been >4 years since I have set up my development environment, but it is still what I use to develop my plugins. It skips compiling CuraEngine, so logically you can't make change to CuraEngine this way.
As I just mentioned in https://github.com/Ultimaker/Cura/issues/6579
you can happily use cura.exe --debug if you use a bash shell. I think it arrived with either mingw64 or a git installation.
OK, I managed to run it following the instructions from @ahoeben. There were some extra steps needed:
- It needs Python 3.5.x, 64bit with Python 3.8 I could not install PyQT5.10, just a newer one, that wont work (note that the install page at https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source-on-Windows mentions 32 bit python, but I think one of the .pyd files was 64bits.).
-These dependencies were enough:
numpy scipy colorlog zeroconf pyserial PyQt5==5.10 requests
- Also i needed to install Shapely as described here:
https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source-on-Windows#python-352
-
1
-
1
- 1 month later...
Hello all!
thank you @ahoeben and @hudejo for your instructions!
I am trying to build a new plugin for Cura and want to debug it as well.
My computer is running on windows 10 - 64 bit.
So from both of your posts - here is what i did in order to make it run from source for me, i hope that my summary can help others like you helped me. thanks again :)
- Install python 3.5.4 - 64 bit (not 32!)
-
Have cura 4.3 installation from website (used to retrieve some files later)
-- from @ahoeben post: - Create a project folder called “curaProject”
-
Download projects cura, uranium and libCharon into the project folder so they are next to each other (I used versions 4.3 \ 4.3.0)
From ultimaker github -
Additional files from Cura installation:
create “bin” folder in “curaProject” folder.
From the Cura installation folder, take the files just like ahoeben wrote (CuraEngine.exe, Arcus.pyd, Savitar.pyd, libgcc_s_seh-1.dll, libgomp-1.dll, libifcoremd.dll, libimalloc.dll, libiomp5md.dll, libmmd.dll, libstdc++-6.dll, libwinpthread-1.dll)
And copy them to “bin” folder - Add to windows PYTHONPATH the paths to uranium, libCharon and bin folder
-
Install additional python packages - Python -m pip install numpy scipy colorlog zeroconf trimesh netifaces pyserial PyQt5==5.10 requests
*** this is a combination from your posts + cura running on windows page - link -
Install Shapely package -
- Download Shapely‑1.6.4.post2‑cp35‑cp35m‑win_amd64.whl from here - link (https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely) - this is for 64 bit
- Install - python -m pip install [path to file]
- That’s it, good to go. Now you can run cura_app.py from the cura project
- 2 months later...
Hello.
How can I trace my PostProcessing script?
I add to my script:
import pdb .... def execute(self, data): pdb.set_trace()
I start Cura with "python3 -m pdb cura_app.py" then press "c" to continue.
But I don't have stop on my script executing.
- 4 months later...
Good morning,
My python raise the following error:
<unit>:\<path>\CuraProject\Cura>python cura_app.py
Traceback (most recent call last):
File "cura_app.py", line 29, in <module>
from cura import ApplicationMetadata
ImportError: No module named 'cura'
I'm using the "Ultimaker Cura 4.6" and followed all the steps.
If i use the -m pbd option:
<unit>:\<path>\CuraProject\Cura>python -m pdb cura_app.py
> <unit>:\<path>\curaproject\cura\cura_app.py(11)<module>()
-> import sys
(Pdb) c
Traceback (most recent call last):
File "<unit>:\<path>\Python35\lib\pdb.py", line 1665, in main
pdb._runscript(mainpyfile)
File "<unit>:\<path>\Python35\lib\pdb.py", line 1546, in _runscript
self.run(statement)
File "<unit>:\<path>\Python35\lib\bdb.py", line 431, in run
exec(cmd, globals, locals)
File "<string>", line 1, in <module>
File "<unit>:\<path>\curaproject\cura\cura_app.py", line 11, in <module>
import sys
ImportError: No module named 'cura'
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> <unit>:\<path>\curaproject\cura\cura_app.py(11)<module>()
-> import sys
(Pdb) cont
Post mortem debugger finished. The cura_app.py will be restarted
> <unit>:\<path>\curaproject\cura\cura_app.py(11)<module>()
-> import sys
(Pdb) quit
and i don't know how to continue...
Sorry
- 5 months later...
Recommended Posts
ahoeben 1,981
What OS are you developing on?
Link to post
Share on other sites