medicationforall / skirmishbunker

Apache License 2.0
7 stars 2 forks source link

Error when trying to run ./example/bunker.py #13

Closed mlewis-everley closed 1 year ago

mlewis-everley commented 1 year ago

So I think I have got a better development environment running in VSCode and the CadQuery module. When I try and test the example bunker.py I get this error:

Traceback (most recent call last):
  File "/home/morven/Projects/skirmishbunker/example/bunker.py", line 2, in <module>
    from skirmishbunker import Bunker
  File "/home/morven/Projects/skirmishbunker/src/skirmishbunker/__init__.py", line 4, in <module>
    from .SplitDoor import SplitDoor
  File "/home/morven/Projects/skirmishbunker/src/skirmishbunker/SplitDoor.py", line 3, in <module>
    from cadqueryhelper import shape, wave
ImportError: cannot import name 'wave' from 'cadqueryhelper' (/home/morven/Projects/skirmishbunker/venv/lib/python3.10/site-packages/cadqueryhelper/__init__.py)

Looks like maybe wave has been depreciated?

mlewis-everley commented 1 year ago

This appears to be a version conflict. pip install ./ installed cadquery==2.3.1.

I have downgraded cadquery to 2.2.0b2 but pip will still not upgrade cadqueryhelper > 0.0.8...

Any ideas?

mlewis-everley commented 1 year ago

So it also looks like cqterrain is also being locked to an earlier version... Not sure what is going on, any ideas @medicationforall ?

My pip installed list is as follows:

Package                   Version  Editable project location
------------------------- -------- ------------------------------------
anyio                     3.7.1
argon2-cffi               21.3.0
argon2-cffi-bindings      21.2.0
asttokens                 2.2.1
attrs                     23.1.0
Babel                     2.12.1
backcall                  0.2.0
beautifulsoup4            4.12.2
bleach                    6.0.0
blinker                   1.6.2
build                     0.10.0
cachetools                5.2.1
cad-viewer-widget         1.4.1
cadquery                  2.2.0b2
cadquery-massembly        0.9.0
cadquery-ocp              7.6.3
cadquery-server           0.4.1
cadqueryhelper            0.0.8
cairocffi                 1.6.0
CairoSVG                  2.7.0
casadi                    3.6.3
certifi                   2023.5.7
cffi                      1.15.1
charset-normalizer        3.2.0
click                     8.1.5
comm                      0.1.3
contourpy                 1.1.0
cqmore                    0.1
cqterrain                 0.1.2
cssselect2                0.7.0
cycler                    0.11.0
debugpy                   1.6.7
decorator                 5.1.1
defusedxml                0.7.1
entrypoints               0.4
exceptiongroup            1.1.2
executing                 1.2.0
ezdxf                     1.0.3
fastjsonschema            2.17.1
Flask                     2.3.2
fonttools                 4.41.0
idna                      3.4
ipykernel                 6.24.0
ipython                   8.14.0
ipython-genutils          0.2.0
ipywidgets                7.7.5
itsdangerous              2.1.2
jedi                      0.18.2
Jinja2                    3.1.2
json5                     0.9.14
jsonschema                4.18.3
jsonschema-specifications 2023.6.1
jupyter-cadquery          3.5.2
jupyter_client            7.4.9
jupyter_core              5.3.1
jupyter-server            1.24.0
jupyterlab                3.5.3
jupyterlab-pygments       0.2.2
jupyterlab_server         2.23.0
jupyterlab-widgets        1.1.4
kiwisolver                1.4.4
lxml                      4.9.3
MarkupSafe                2.1.3
matplotlib                3.7.2
matplotlib-inline         0.1.6
minify_html               0.10.8
mistune                   0.8.4
multimethod               1.9.1
nbclassic                 1.0.0
nbclient                  0.5.13
nbconvert                 6.5.4
nbformat                  5.9.1
nest-asyncio              1.5.6
nlopt                     2.7.1
notebook                  6.5.4
notebook_shim             0.2.3
nptyping                  2.0.1
numpy                     1.25.1
numpy-quaternion          2022.4.1
numpy-stl                 3.0.1
packaging                 23.1
pandocfilters             1.5.0
parso                     0.8.3
path                      16.7.1
pexpect                   4.8.0
pickleshare               0.7.5
Pillow                    10.0.0
pip                       23.2
pip-tools                 7.0.0
platformdirs              3.9.1
prometheus-client         0.17.1
prompt-toolkit            3.0.39
psutil                    5.9.5
ptyprocess                0.7.0
pure-eval                 0.2.2
pycparser                 2.21
Pygments                  2.15.1
pyparsing                 3.1.0
pyproject_hooks           1.0.0
python-dateutil           2.8.2
python-utils              3.7.0
pyzmq                     25.1.0
referencing               0.29.1
requests                  2.31.0
rpds-py                   0.8.10
Send2Trash                1.8.2
setuptools                59.6.0
six                       1.16.0
skirmishbunker            1.1.2    /home/morven/Projects/skirmishbunker
sniffio                   1.3.0
soupsieve                 2.4.1
stack-data                0.6.2
terminado                 0.17.1
tinycss2                  1.2.1
tomli                     2.0.1
tornado                   6.3.2
traitlets                 5.9.0
typing_extensions         4.7.1
typish                    1.9.3
urllib3                   2.0.3
voila                     0.3.7
wcwidth                   0.2.6
webcolors                 1.13
webencodings              0.5.1
websocket-client          1.6.1
websockets                11.0.3
Werkzeug                  2.3.6
wheel                     0.40.0
widgetsnbextension        3.6.4
medicationforall commented 1 year ago

Probably time to upgrade libraries, they finally updated their pip page https://pypi.org/project/cadquery/ before it was pointing to 1.something

All my libs reference the same cadquery version which is biting you right now.

mlewis-everley commented 1 year ago

I have downgraded cadquery to 2.2.0b2 though?

medicationforall commented 1 year ago

I haven't yet tested to reproduce, I'm guessing some lib dependency is off. I'll cut a new venv and start installing libs from scratch in the meantime if you want a better understanding of the packaging process checkout this file in particular pyproject.toml that has the dependency list.

I'm guessing one of the libs has cadqueryhelper at the 0.8 version.

medicationforall commented 1 year ago

2 things

  1. Fix your dependency issue with the current releases
  2. Upgrade to a newer version of cadquery and hopefully don't denote the version as locked.
medicationforall commented 1 year ago

this is the dependency list prior to my making any changes. Nothing stands out too weird

Project Dependencies

cadqueryhelper 0.1.1

"cadquery==2.2.0b2",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603'

cqterrain 0.1.5

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.1'

cqdome

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.1',
'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.5'

cqindustry 0.0.2

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.1',
'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.5'

gothictower 1.0.1

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.0.8',
'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.2',
'skirmishbunker @ git+https://github.com/medicationforall/skirmishbunker'

skirmishbunker 1.2.0

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.1',
'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.5'

skirmishterrain 0.0.4

"cadquery==2.2.0b2",
"numpy-stl",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603',
'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.1',
'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.5'
medicationforall commented 1 year ago

well that was weird apparently for skirmish bunker I cut the 2.0.0 release but it didn't mark it as the latest release

medicationforall commented 1 year ago

@mlewis-everley Interesting my doing a pip install of the bunker repo shows something completely different as far as sources for files

(test) C:\Users\inkli\OneDrive\Desktop\package test\skirmishbunker>pip freeze
cadquery==2.2.0b2
cadquery-ocp==7.6.3
cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@64bacc7c50c5f7e6311afa20fd331691f3e196ad
casadi==3.6.3
cqmore @ git+https://github.com/JustinSDK/cqMore@a490603a18e87e65d9a8c5d52ea0b0ce402d261c
cqterrain @ git+https://github.com/medicationforall/cqterrain@942646a9bd0e0cdba11414418efe0028c55fa357
ezdxf==1.0.3
multimethod==1.9.1
nlopt==2.7.1
nptyping==2.0.1
numpy==1.25.1
numpy-stl==3.0.1
path==16.7.1
pyparsing==3.1.0
python-utils==3.7.0
skirmishbunker @ file:///C:/Users/inkli/OneDrive/Desktop/package%20test/skirmishbunker
typing_extensions==4.7.1
typish==1.9.3
medicationforall commented 1 year ago

Cut a new release for cadqueryhelper 0.1.2 https://github.com/medicationforall/cadqueryhelper/releases/tag/0.1.2

"cadquery>=2.3",
'cqmore @ git+https://github.com/JustinSDK/cqMore@a490603'

That will prevent it from going 3.0 without review/intervention but it should be able to go to 2.4 just fine without code change to the file

medicationforall commented 1 year ago

cut a new cqterrain release 0.1.6 https://github.com/medicationforall/cqterrain/releases/tag/0.1.6

'cadqueryhelper @ git+https://github.com/medicationforall/cadqueryhelper@0.1.2'

I can cascade the dependencies.

medicationforall commented 1 year ago

Cut a new release of skirmishbunker 2.0.1 https://github.com/medicationforall/skirmishbunker/releases/tag/2.0.1

'cqterrain @ git+https://github.com/medicationforall/cqterrain@0.1.6'

@mlewis-everley I'm hoping this should resolve your installation woes. Please try removing the old versions of cadqueryhelper, cqterrain and reinstalling the skirmishbunker with the latest updates.

The project as a whole now uses 2.x version of cadquery, and is no longer tied to a specific point release.

I'll update the package dependencies for other unrelated projects later.

mlewis-everley commented 1 year ago

Yep, it all seems to be working now. I think the issue might have been related to installing cadquery-server. Possibly that forced the cadquery version up?

Whatever you changed seems to have helped though, as now even after installing cadquery-server, cadquery is still at 2.2.0b2...

Cheers