Closed yurivict closed 2 years ago
Hi @yurivict you need to install the package first. This can be done with
pip install dwave-samplers
to install from pypi.
Or, if you want to build locally and intend to run the code from the top-level directory of the repo.
python setup.py build_ext --inplace
Or, finally if you want to build locally and want to run from a different directory
pip install .
The package is installed:
$ pkg info -l py39-dwave-samplers
py39-dwave-samplers-1.0.0.d1:
/usr/local/lib/python3.9/site-packages/dwave/samplers/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/composite.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/composite.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/sampler.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/__pycache__/sampler.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/composite.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/decl.pxd
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/descent.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/descent.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/sampler.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/src/descent.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/greedy/src/descent.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/__pycache__/sampler.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/__pycache__/sampler.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/cyrandom.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/cyrandom.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/random/sampler.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/__pycache__/sampler.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/__pycache__/sampler.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/sampler.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/simulated_annealing.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/simulated_annealing.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/src/cpu_sa.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/sa/src/cpu_sa.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/sampler.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/sampler.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/utils.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/__pycache__/utils.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/sampler.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/bqp.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/bqp.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/common.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/tabu_search.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/tabu_search.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/tabu_utils.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/src/tabu_utils.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/tabu.pxd
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/tabu_search.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/tabu_search.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/tabu/utils.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/__init__.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/__pycache__/__init__.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/__pycache__/samplers.cpython-39.opt-1.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/__pycache__/samplers.cpython-39.pyc
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/orang.pxd
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/sample.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/sample.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/samplers.py
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/solve.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/solve.pyx
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/base.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/buckettree.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/combine.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/exception.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/graph.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/marginalizer.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/merger.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/operations/count.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/operations/dummy.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/operations/logsumprod.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/operations/min.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/orang.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/sample.hpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/solve.hpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/table.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/task.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/treedecomp.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/utils.hpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/src/include/varorder.h
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/utilities.cpp
/usr/local/lib/python3.9/site-packages/dwave/samplers/tree/utilities.pyx
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/PKG-INFO
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/SOURCES.txt
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/dependency_links.txt
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/not-zip-safe
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/requires.txt
/usr/local/lib/python3.9/site-packages/dwave_samplers-1.0.0.dev1-py3.9.egg-info/top_level.txt
/usr/local/lib/python3.9/site-packages/samplers/greedy/descent.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/random/cyrandom.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/sa/simulated_annealing.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/tabu/tabu_search.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/tree/sample.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/tree/solve.cpython-39.so
/usr/local/lib/python3.9/site-packages/samplers/tree/utilities.cpython-39.so
If your current working directory is the repo root, then Python will try to use the local version rather than the one in site-packages. I would try navigating to a different directory if you want to use the version in site-packages.
No, my work directory isn't repo root.
How did you install the package?
setup.py build
setup.py install
This was done within the FreeBSD ports framework.
Try running
python setup.py build_ext --inplace
python setup.py install
I am not 100% sure that just build
will do the Cython/C++ step.
This way build fails:
c++ -shared -fstack-protector-strong -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer build/temp.freebsd-13.1-STABLE-amd64-cpython-39/dwave/samplers/tree/utilities.o -L/usr/local/lib -o build/lib.freebsd-13.1-STABLE-amd64-cpython-39/samplers/tree/utilities.cpython-39.so
copying build/lib.freebsd-13.1-STABLE-amd64-cpython-39/samplers/greedy/descent.cpython-39.so -> samplers/greedy
error: could not create 'samplers/greedy/descent.cpython-39.so': No such file or directory
*** Error code 1
And what about
pip install .
preferably after updating pip and setuptools
pip install pip setuptools -U
I am trying to create the FreeBSD port for dwave-samplers.
pip is never involved in port's build process. setuptools is already installed from the package.
I have not been able to reproduce locally. The only clue I have is that it looks like the .so
files are being put in the wrong directory, /usr/local/lib/python3.9/site-packages/samplers/
rather than /usr/local/lib/python3.9/site-packages/dwave/samplers/
.
You could try moving the manually to confirm.
Yes, it looks like directories are messed up.
I also tried to build w/out distutils - using build/installer modules. build/installer install the package with the same problem.
This looks to me like a bug in the project.
I suppose that is possible. But the only places such paths are specified are here which is the standard Python/Cython build pattern.
Also, running
python setup.py build_ext --inplace
python setup.py install
puts everything in the correct place on my local system.
I am using setuptools 58.1.0, Cython 0.29.28 for what it's worth.
Have you, by chance, added an __init__.py
to the top level? i.e.
.circleci/
docs/
dwave/
releasenotes/
tests/
__init__.py
LICENSE
pyproject.toml
MANIFEST.in
README.rst
requirements.txt
setup.cfg
setup.py
if that's the case, you may be running into https://github.com/pypa/setuptools/issues/3343. I was able to get an error similar to yours by adding that file.
No, I didn't add any files.
I use setuptools-63.1.0, cython-0.29.32.
Your setuptools and cython packages are outdated.
Updating both does not change the behavior - still works fine locally.
Correcting paths fixes the problem.
Version: 1.0.0.dev1