heremaps / pptk

The Point Processing Toolkit (pptk) is a Python package for visualizing and processing 2-d/3-d point clouds.
https://heremaps.github.io/pptk
MIT License
610 stars 112 forks source link

pip installation not possible with python 3.8 - no wheel file #39

Open cassfalg opened 4 years ago

cassfalg commented 4 years ago

I've tried to install pptk on Arch Linux via pip.

$ pip search pptk
pptk (0.1.0)  - A Python package for facilitating point cloud processing.
$ pip install pptk
ERROR: Could not find a version that satisfies the requirement pptk (from versions: none)
ERROR: No matching distribution found for pptk
$ python --version
Python 3.8.2
$ pip --version
pip 20.0.2 from /usr/lib/python3.8/site-packages/pip (python 3.8)

I suspect this might be because https://pypi.org/project/pptk/#files does not list a wheel file for python 3.8?

ajhamdi commented 4 years ago

same issue here

ERROR: Could not find a version that satisfies the requirement pptk (from versions: none)
eVen-gits commented 4 years ago

Same issue here. I tried getting the 3.7 wheel from pypi.org, but pptk-0.1.0-cp37-none-manylinux1_x86_64.whl doesn't work (reckon since it's for 3.7).

Please advise.

UPDATE: Simply renaming

pptk-0.1.0-cp37-none-manylinux1_x86_64.whl to pptk-0.1.0-cp38-none-manylinux1_x86_64.whl

allows installation with

pip3 install ./pptk-0.1.0-cp38-none-manylinux1_x86_64.whl

ShairozS commented 4 years ago

Any updates on making the pip installation compatible with more recent versions of Python?

cassfalg commented 3 years ago

@ShairozS, @eVen-gits, @ajhamdi: I have made the necessary changes for me on Arch Linux. See if they work for you on your systems?

After it's built in the build folder run this to create a wheel file and install it with pip:

python setup.py bdist_wheel
pip install --force-reinstall --no-deps dist/pptk-0.1.1-cp38-none-manylinux2014_x86_64.whl

The reinstall and no dependency switches are optional and your filename may vary of course.

kentaroy47 commented 3 years ago

You can force install the 3.7 wheel on >3.8 and get it to work..

wget https://files.pythonhosted.org/packages/67/01/2c0067e3a54d654e527dfc878d56db0f602fed6b468fec789cf287cf577d/pptk-0.1.0-cp37-none-manylinux1_x86_64.whl
mv pptk-0.1.0-cp37-none-manylinux1_x86_64.whl pptk-0.1.0-cp38-none-manylinux1_x86_64.whl
pip install --force-reinstall --no-deps pptk-0.1.0-cp38-none-manylinux1_x86_64.whl

Processing ./pptk-0.1.0-cp38-none-manylinux1_x86_64.whl
Installing collected packages: pptk
Successfully installed pptk-0.1.0
linzha0 commented 3 years ago

You can force install the 3.7 wheel on >3.8 and get it to work..

wget https://files.pythonhosted.org/packages/67/01/2c0067e3a54d654e527dfc878d56db0f602fed6b468fec789cf287cf577d/pptk-0.1.0-cp37-none-manylinux1_x86_64.whl
mv pptk-0.1.0-cp37-none-manylinux1_x86_64.whl pptk-0.1.0-cp38-none-manylinux1_x86_64.whl
pip install --force-reinstall --no-deps pptk-0.1.0-cp38-none-manylinux1_x86_64.whl

Processing ./pptk-0.1.0-cp38-none-manylinux1_x86_64.whl
Installing collected packages: pptk
Successfully installed pptk-0.1.0

Hi, thanks for sharing your method. Is that work? I mean I can install it by your method. I am using ubuntu 20.04. But when I run simple code:

xyz = pptk.rand(100, 3)
v = pptk.viewer(xyz)
v.set(point_size=0.005)

I got Segmentation fault (core dumped)

kentaroy47 commented 3 years ago

I got it to work with ubuntu 18.04 python 3.8, but will be better to downgrade your python

linzha0 commented 3 years ago

Thx for your reply. Ubuntu 20.04 is with python 3.8.5.

cassfalg commented 3 years ago

@CrazyPopLin That method force installs a binary package linked against older versions of python and maybe other libraries. It can work, but the newer your system, the more likely it is to segfault or similar. It never worked for me on Arch Linux, also failed with a segfault. Instead of downgrading your python like @kentaroy47 suggested I'd kindly refer you to #45 . I've made a pull request with the necessary changes to compile pptk on Arch Linux, which may also work for Ubuntu 20.04. For convenience I have also linked my binary wheel file which you can try if you don't want to compile.