[jira] [Commented] (PYLUCENE-68) setup.py install and easy_install command are deprecated
[ https://issues.apache.org/jira/browse/PYLUCENE-68?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17815414#comment-17815414 ] Andi Vajda commented on PYLUCENE-68: I looked into this issue a bit more now and setup.py is _not_ deprecated, see this [doc|https://packaging.python.org/en/latest/discussions/setup-py-deprecated/] for more about this topic. What is deprecated are _some_ of the commands usually passed to setup.py, such as install, which JCC uses, in some cases, when it invokes setup() directly (at the bottom of python.py). I fixed this now by adding support for a new --generate flag that supercedes --build and other such flags and, instead of calling setup() JCC produces a setup.py file for the extension. This setup.py file can then be used with modern python packaging tools such as build and pip. The pylucene build is being switched to this and the process to build PyLucene is then: - build and install jcc using the modern tools: - python -m build - python -m pip install --force - build pylucene: - set MODERN_PACKAGING to true in Makefile - make all which runs: - jcc is invoked with --generate - python -m build -nw - python -m pip install --force > setup.py install and easy_install command are deprecated > > > Key: PYLUCENE-68 > URL: https://issues.apache.org/jira/browse/PYLUCENE-68 > Project: PyLucene > Issue Type: Improvement >Reporter: Clément Jonglez >Priority: Major > > When compiling with jcc to create a wheel, I get the following warnings (see > below). > This is still working but eventually the `setup.py` installation and > `easy_install` command will be removed. > It would be nice to adapt JCC to modern pypa build tools, but I don't know > enough about JCC to do these changes. > > {noformat} > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/dist.py:947: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > self.initialize_options() > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > EasyInstallDeprecationWarning: easy_install command is deprecated. > !! > > > Please avoid running ``setup.py`` and ``easy_install``. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://github.com/pypa/setuptools/issues/917 for details. > > > !! > self.initialize_options() > > {noformat} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (PYLUCENE-68) setup.py install and easy_install command are deprecated
[ https://issues.apache.org/jira/browse/PYLUCENE-68?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17785226#comment-17785226 ] Clément Jonglez commented on PYLUCENE-68: - Thanks for the swift answer! My use case only involves calling jcc (for building the Orekit Python wrapper project by [~petrush] ) and not building jcc itself indeed. A solution would be to make the {code:java} setup(**args){code} call at the end of python.py optional via a new parameter, and instead leave it to a Python package build system (such as setuptools for instance, but there are others like hatch) to build the C++ extensions when installing the Python package. I saw that Pylucene uses a Makefile for compilation so it's different from my use case though, as I am trying to package the Orekit Python wrapper for PyPi. I already adapted Petrus' bash script to a Python script, and I am trying to integrate it to setuptools or hatch. I will post more information if I manage to make it work. > setup.py install and easy_install command are deprecated > > > Key: PYLUCENE-68 > URL: https://issues.apache.org/jira/browse/PYLUCENE-68 > Project: PyLucene > Issue Type: Improvement >Reporter: Clément Jonglez >Priority: Major > > When compiling with jcc to create a wheel, I get the following warnings (see > below). > This is still working but eventually the `setup.py` installation and > `easy_install` command will be removed. > It would be nice to adapt JCC to modern pypa build tools, but I don't know > enough about JCC to do these changes. > > {noformat} > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/dist.py:947: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > self.initialize_options() > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > EasyInstallDeprecationWarning: easy_install command is deprecated. > !! > > > Please avoid running ``setup.py`` and ``easy_install``. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://github.com/pypa/setuptools/issues/917 for details. > > > !! > self.initialize_options() > > {noformat} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (PYLUCENE-68) setup.py install and easy_install command are deprecated
[ https://issues.apache.org/jira/browse/PYLUCENE-68?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17785219#comment-17785219 ] Andi Vajda commented on PYLUCENE-68: I was afraid of that... I did try to build jcc with pypa/build and it seems to work just fine: {code:java} $ cd jcc $ python3 -m build $ python3 -m pip install dist/JCC-3.13-cp312-cp312-macosx_13_0_arm64.whl{code} worked fine. Then, I get the warnings you reported when running "jcc ... --install" from pylucene's Makefile are due to jcc's calling setuptools.setup() function to build the extension it generated. Do you know of a migration guide from setuptools.setup() to calling similar stuff in pypa/build ? > setup.py install and easy_install command are deprecated > > > Key: PYLUCENE-68 > URL: https://issues.apache.org/jira/browse/PYLUCENE-68 > Project: PyLucene > Issue Type: Improvement >Reporter: Clément Jonglez >Priority: Major > > When compiling with jcc to create a wheel, I get the following warnings (see > below). > This is still working but eventually the `setup.py` installation and > `easy_install` command will be removed. > It would be nice to adapt JCC to modern pypa build tools, but I don't know > enough about JCC to do these changes. > > {noformat} > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/dist.py:947: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > > !! > self.initialize_options() > /home/yzokras/Documents/orekit-pip/orekit312/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: > EasyInstallDeprecationWarning: easy_install command is deprecated. > !! > > > Please avoid running ``setup.py`` and ``easy_install``. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > See https://github.com/pypa/setuptools/issues/917 for details. > > > !! > self.initialize_options() > > {noformat} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)