yes leave it at 3.7.

They are currently improving a lot - 3.10 was a major shift and 3.11 has
lot of neat improvements concerning error handling.
See also: Built-in Exceptions — Python 3.11.0 documentation
<https://docs.python.org/3/library/exceptions.html> and Python 3.11
Preview: Even Better Error Messages – Real Python
<https://realpython.com/python311-error-messages/>

So yes when Plc4Py gets actually usable we can bump it to a stable 3.XX
version.




Am Fr., 11. Nov. 2022 um 12:08 Uhr schrieb Ben Hutcheson <
ben.hut...@gmail.com>:

> No, just leave the prerequisite check, 3.7 is still a reasonable starting
> point (Although by the time Plc4Py actually gets useable it probably won't
> be)
>
> On Fri, Nov 11, 2022 at 5:03 AM Christofer Dutz <christofer.d...@c-ware.de
> >
> wrote:
>
> > Oh …
> >
> > if it’s just that, I can simply add that to the prerequisite check.
> > That currently checks, if python is at least 3.7.0, I can bump that to
> > 3.10.0 … however it seems that 3.9 is simpler to setup (As I didn’t
> > explicitly select a version and that one was installed). So if the
> benefit
> > of 3.10+ is not too big, perhaps make it work with 3.9.x.
> >
> > Chris
> >
> >
> > From: Ben Hutcheson <ben.hut...@gmail.com>
> > Date: Friday, 11. November 2022 at 11:55
> > To: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > Subject: Re: [PLC4PY] Required setup for building?
> > Hi,
> >
> > Yeah it looks like we'll have to work on support for Python version <
> 3.10.
> > It should be an easy fix to use the Union operator for type hints instead
> > of the Pipe symbol.
> >
> > Ben
> >
> > On Fri, Nov 11, 2022 at 4:50 AM Christofer Dutz <
> christofer.d...@c-ware.de
> > >
> > wrote:
> >
> > > [INFO] --- exec-maven-plugin:3.1.0:exec (python-test) @ plc4py ---
> > > ============================= test session starts
> > > ==============================
> > > platform darwin -- Python 3.9.12, pytest-7.2.0, pluggy-1.0.0 --
> > >
> >
> /Users/christoferdutz/Projects/Apache/PLC4X/plc4x/sandbox/plc4py/venv/bin/python3
> > > cachedir: .pytest_cache
> > > rootdir:
> > /Users/christoferdutz/Projects/Apache/PLC4X/plc4x/sandbox/plc4py,
> > > configfile: setup.cfg
> > > plugins: mock-3.10.0, asyncio-0.20.1
> > > asyncio: mode=auto
> > > collecting ... collected 16 items / 2 errors
> > >
> > > ==================================== ERRORS
> > > ====================================
> > > ____________________ ERROR collecting tests/test_plc4py.py
> > > _____________________
> > > tests/test_plc4py.py:28: in <module>
> > >     from plc4py.drivers.modbus.ModbusConnection import ModbusConnection
> > > plc4py/drivers/modbus/ModbusConnection.py:30: in <module>
> > >     from plc4py.drivers.modbus.ModbusProtocol import ModbusProtocol
> > > plc4py/drivers/modbus/ModbusProtocol.py:21: in <module>
> > >     from plc4py.spi.Plc4xBaseProtocol import Plc4xBaseProtocol
> > > plc4py/spi/Plc4xBaseProtocol.py:25: in <module>
> > >     class Plc4xBaseProtocol(Protocol):
> > > plc4py/spi/Plc4xBaseProtocol.py:35: in Plc4xBaseProtocol
> > >     def connection_lost(self, exc: Exception | None) -> None:
> > > E   TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
> > > ___________ ERROR collecting tests/unit/plc4py/spi/test_protocol.py
> > > ____________
> > > tests/unit/plc4py/spi/test_protocol.py:26: in <module>
> > >     from plc4py.spi.Plc4xBaseProtocol import Plc4xBaseProtocol
> > > plc4py/spi/Plc4xBaseProtocol.py:25: in <module>
> > >     class Plc4xBaseProtocol(Protocol):
> > > plc4py/spi/Plc4xBaseProtocol.py:35: in Plc4xBaseProtocol
> > >     def connection_lost(self, exc: Exception | None) -> None:
> > > E   TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
> > > =========================== short test summary info
> > > ============================
> > > ERROR tests/test_plc4py.py - TypeError: unsupported operand type(s) for
> > |:
> > > 't...
> > > ERROR tests/unit/plc4py/spi/test_protocol.py - TypeError: unsupported
> > > operand...
> > > !!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection
> > > !!!!!!!!!!!!!!!!!!!!
> > > ============================== 2 errors in 0.08s
> > > ===============================
> > > [ERROR] Command execution failed.
> > > org.apache.commons.exec.ExecuteException: Process exited with an
> error: 2
> > > (Exit value: 2)
> > >     at org.apache.commons.exec.DefaultExecutor.executeInternal
> > > (DefaultExecutor.java:404)
> > >     at org.apache.commons.exec.DefaultExecutor.execute
> > > (DefaultExecutor.java:166)
> > >     at org.codehaus.mojo.exec.ExecMojo.executeCommandLine
> > > (ExecMojo.java:1000)
> > >     at org.codehaus.mojo.exec.ExecMojo.executeCommandLine
> > > (ExecMojo.java:947)
> > >     at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:471)
> > >     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> > > (DefaultBuildPluginManager.java:137)
> > >     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > > (MojoExecutor.java:210)
> > >     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > > (MojoExecutor.java:156)
> > >     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > > (MojoExecutor.java:148)
> > >     at
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > > (LifecycleModuleBuilder.java:117)
> > >     at
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > > (LifecycleModuleBuilder.java:81)
> > >     at
> > >
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> > > (SingleThreadedBuilder.java:56)
> > >     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> > > (LifecycleStarter.java:128)
> > >     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
> > >     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
> > >     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
> > >     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
> > >     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
> > >     at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
> > >     at jdk.internal.reflect.DirectMethodHandleAccessor.invoke
> > > (DirectMethodHandleAccessor.java:104)
> > >     at java.lang.reflect.Method.invoke (Method.java:577)
> > >     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> > > (Launcher.java:282)
> > >     at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> > > (Launcher.java:225)
> > >     at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > (Launcher.java:406)
> > >     at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > > (Launcher.java:347)
> > >     at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
> > > [INFO]
> > >
> ------------------------------------------------------------------------
> > > [INFO] BUILD FAILURE
> > > [INFO]
> > >
> ------------------------------------------------------------------------
> > > [INFO] Total time:  11.937 s
> > > [INFO] Finished at: 2022-11-11T11:49:37+01:00
> > > [INFO]
> > >
> ------------------------------------------------------------------------
> > >
> > > From: Ben Hutcheson <ben.hut...@gmail.com>
> > > Date: Friday, 11. November 2022 at 11:46
> > > To: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > > Subject: Re: [PLC4PY] Required setup for building?
> > > Hi Chris,
> > >
> > > I'm not sure much has changed since last time, can you send me the
> output
> > > you're seeing?
> > >
> > > Ben
> > >
> > > On Fri, Nov 11, 2022 at 4:07 AM Christofer Dutz <
> > christofer.d...@c-ware.de
> > > >
> > > wrote:
> > >
> > > > Hi all,
> > > >
> > > > some time ago I added some checks to the prerequisite check to ensure
> > I’m
> > > > able to build PLC4PY before even trying. For some time now this has
> > been
> > > > failing on my side, so I guess there are some changes there.
> > > >
> > > > Could someone please help me adjust the prerequisite check to work
> for
> > > > PLC4Py again?
> > > >
> > > > Chris
> > > >
> > > >
> > >
> >
>

Reply via email to