Skip to content
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

ModuleNotFoundError: No module named 'pyboolector' #170

Open
songzenghui opened this issue Nov 27, 2022 · 10 comments
Open

ModuleNotFoundError: No module named 'pyboolector' #170

songzenghui opened this issue Nov 27, 2022 · 10 comments

Comments

@songzenghui
Copy link

I have installed pyvsc successfully but when i import vsc, it hint

ModuleNotFoundError: No module named 'pyboolector'

here is my pip list:

Package                   Version
------------------------- ----------------
attrs                     22.1.0
inflection                0.5.1
jsonschema                4.17.1
lxml                      4.9.1
Markdown                  3.4.1
pip                       22.3.1
PyBoolector               3.2.2.20221010.1
pyrsistent                0.19.2
python-jsonschema-objects 0.4.1
pyucis                    0.1.2.2686817964
pyvsc                     0.8.1.3466255343
PyYAML                    6.0
setuptools                65.4.1
six                       1.16.0
toposort                  1.7

my os is macos 13.0.1, python version is 3.10

@songzenghui songzenghui changed the title I have installed pyvsc successfully but ModuleNotFoundError: No module named 'pyboolector' Nov 28, 2022
@mballance
Copy link
Member

Hi @songzenghui, can you confirm whether you have an Arm-based or an x86-based Mac? I believe PyBoolector is currently only built for x86-based Mac, so am assuming that is your platform.
Were any additional errors reported along with the ModuleNotFoundError? I would look specifically to see if any unresolved symbol errors were reported or any messages related to native library loading.

@songzenghui
Copy link
Author

yes, my mac is based x86.
here is full log. i just try import vsc

Python 3.10.8 (main, Nov 15 2022, 05:25:54) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import vsc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/__init__.py", line 35, in <module>
    from vsc.attrs import *
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/attrs.py", line 23, in <module>
    from vsc.types import type_base, field_info, type_enum
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/types.py", line 25, in <module>
    from vsc.impl.ctor import push_expr, pop_expr, in_constraint_scope, \
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/impl/ctor.py", line 25, in <module>
    from vsc.impl.coverage_registry import CoverageRegistry
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/impl/coverage_registry.py", line 7, in <module>
    from vsc.model.covergroup_model import CovergroupModel
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/model/__init__.py", line 21, in <module>
    from .model_visitor import ModelVisitor
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/model/model_visitor.py", line 26, in <module>
    from vsc.model.constraint_model import ConstraintModel
  File "/Users/songzenghui/Documents/project/py-test/tutorial-env/lib/python3.10/site-packages/vsc/model/constraint_model.py", line 22, in <module>
    from pyboolector import BoolectorNode
ModuleNotFoundError: No module named 'pyboolector'

@songzenghui
Copy link
Author

I found pip only install dist-info, did not install the package, look at the site-packages, there is no pyboolector package, do you know why? @mballance

total 8
drwxr-xr-x  10 songzenghui  staff   320B 12  3 13:46 PyBoolector-3.2.2.20221010.1.dist-info
drwxr-xr-x   5 songzenghui  staff   160B 12  3 13:42 _distutils_hack
-rw-r--r--   1 songzenghui  staff   151B 12  3 13:42 distutils-precedence.pth
drwxr-xr-x  41 songzenghui  staff   1.3K 12  3 13:47 numpy
drwxr-xr-x  11 songzenghui  staff   352B 12  3 13:47 numpy-1.23.5.dist-info
drwxr-xr-x   9 songzenghui  staff   288B 12  3 13:42 pip
drwxr-xr-x  10 songzenghui  staff   320B 12  3 13:42 pip-22.3.1.dist-info
drwxr-xr-x   6 songzenghui  staff   192B 12  3 13:42 pkg_resources
drwxr-xr-x  48 songzenghui  staff   1.5K 12  3 13:42 setuptools
drwxr-xr-x  10 songzenghui  staff   320B 12  3 13:42 setuptools-65.4.1.dist-info

@alwilson
Copy link
Contributor

alwilson commented Dec 3, 2022

What happens when you try to pip3 install PyBoolector? I tried it all in a virtualenv to try out everything fresh. Maybe retrying in a fresh environment like that might help narrow down the issue?

@alwilson
Copy link
Contributor

alwilson commented Dec 3, 2022

Huh, the wheel files for maxosx_11_0 are only 2.5 kB versus the 2.2 MB for linux. The linux ones also come with more than just the dist-info and have the boolector binary and python wrappers. Is there something wrong with the mac build? I also don't know much about python packages and pip, so maybe there's something different to how mac packages work.

See wheel files here:
https://pypi.org/project/PyBoolector/3.2.2.20221010.1/#files

@mballance
Copy link
Member

Good observation, @alwilson. Just went to check the boolector CI logs (they're using Azure, but you can still see logs from the last build). Looks like the following error was just silently ignored:
image

I'll try to have a look when I have a little time...

@songzenghui
Copy link
Author

Can you take a moment to look at this question? @mballance

@mballance
Copy link
Member

Apologies for the delay, @songzenghui. I had a chance to look into this today and believe I've resolved the issue. I've posted a hand-created build on PyPi that you can install using pip. Because you have another version installed, I recommend installing with:

python3 -m pip install pyboolector --upgrade --force-reinstall

You should see PyBoolector-3.2.2.350174922-cp39-cp39-macosx_10_9_x86_64.whl downloaded and installed. Please confirm that this works for you, and I'll work with the Boolector team to update their continuous integration build of the Python extension.

@songzenghui
Copy link
Author

thank you. It done now with python3.9

@taylortempleton
Copy link

taylortempleton commented Dec 20, 2022

Has anyone noticed that pip still downloads v3.2.2.20221010, but the version on pypi is 3.2.2.350174922? Struggling to force install of latest 3.2.2.350* version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants