bytedeco / javacpp-presets

The missing Java distribution of native C++ libraries
Other
2.63k stars 731 forks source link

[cpython]Python version 0.1 does not have upper compatibility #1022

Open yukoba opened 3 years ago

yukoba commented 3 years ago

One more thing, related to https://github.com/bytedeco/javacpp-presets/issues/1021 .

Python version 0.0.1 has upper compatibility, but version 0.1 does not have upper compatibility.

For example,

Python software foundation supports 3.6 to 3.9. Is it difficult for javacpp-presets/cpython to support 3.6 to 3.9? I wish you add 3.6.13-1.5.6, 3.7.10-1.5.6, 3.8.8-1.5.6, and 3.9.2-1.5.6. But what I need is Python 3.7.

saudet commented 3 years ago

Again, not many people need that, but contributions are welcome!

yukoba commented 3 years ago

Python library management is complicated. javacpp-presets is a software distributor, and once you merge 3.6 to 3.9, you have to support it continuously. You also have to split Numpy and other Python libraries into many Python versions. Anaconda is doing this, but I think it is a heavy task.

If you do not want to do this, I will create 3.7.10-1.5.5 personally. Also, I cannot release javacpp-embedded-python because it relies on javacpp-presets as a Python distributer. Python version dependency is complicated.

saudet commented 3 years ago

If you'd like to support Python 3.7, that's fine, yes. The easiest way to do that is with a script that changes the versions in the pom.xml files like this for CUDA and Scala: https://github.com/eclipse/deeplearning4j/blob/master/change-cuda-versions.sh https://github.com/eclipse/deeplearning4j/blob/master/change-scala-versions.sh

yukoba commented 3 years ago

Thank you.

I confirmed that this is enough for me on Ubuntu 20.04. I can use all the Python modules.

echo 'deb-src http://archive.ubuntu.com/ubuntu/ focal main' | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt-get build-dep python3.8
sudo apt install maven openjdk-11-jdk

git clone https://github.com/bytedeco/javacpp-presets.git
cd javacpp-presets
git checkout -b 1.5.4 refs/tags/1.5.4
cd cpython
mvn install