# HG changeset patch # User Edouard Tisserant # Date 1690382451 -7200 # Node ID 5b65b8f6d5238762d826f904a224c3d9f209a241 # Parent 0010719d0deafcbfd28302003cc3824a8c33861a Use requirements.txt and update doc accordingly. diff -r 0010719d0dea -r 5b65b8f6d523 README.md --- a/README.md Tue Jul 25 21:26:31 2023 +0200 +++ b/README.md Wed Jul 26 16:40:51 2023 +0200 @@ -41,33 +41,16 @@ ## Build on Linux (developer setup) ## -### Prerequisites (Ubuntu/Debian) : -``` -sudo apt-get install build-essential bison flex autoconf -sudo apt-get install python2-dev libpython2.7-dev libgtk-3-dev libssl-dev libgl1-mesa-dev libglu1-mesa-dev python-setuptools - -python2 -m pip install \ - future \ - matplotlib \ - msgpack_python \ - u-msgpack-python \ - zeroconf2 \ - enum34 \ - pyro \ - sslpsk \ - posix_spawn \ - twisted \ - nevow \ - autobahn \ - click \ - opcua \ - pycountry \ - fonttools \ - Brotli \ - lxml==4.5.0 \ - wxPython==4.1.1 - -``` +### System prerequisites (Ubuntu 22.04) : +``` +# install required system packages as root +sudo apt-get install \ + build-essential automake flex bison mercurial \ + libgtk-3-dev libgl1-mesa-dev libglu1-mesa-dev \ + libpython3.10-dev libssl-dev \ + python3.10 virtualenv cmake git mercurial +``` + ### Prepare build directory @@ -94,6 +77,16 @@ git clone https://github.com/beremiz/matiec ``` +### Python prerequisites (virtualenv) : +``` +# setup isolated python environment +virtualenv ~/Beremiz/venv + +# install required python packages +~/Beremiz/venv/bin/pip install -r ~/Beremiz/beremiz/requirements.txt + +``` + ### Build MatIEC compiler ``` @@ -109,8 +102,12 @@ ``` cd ~/Beremiz -hg clone http://hg.beremiz.org/CanFestival-3 -cd ~/Beremiz/CanFestival-3 + +hg clone http://hg.beremiz.org/canfestival +# -- or -- +git clone https://github.com/beremiz/beremiz + +cd ~/Beremiz/canfestival ./configure --can=virtual make ``` @@ -121,7 +118,11 @@ ``` cd ~/Beremiz -hg clone https://hg.beremiz.org/Modbus + +hg clone http://hg.beremiz.org/Modbus +# -- or -- +git clone https://github.com/beremiz/Modbus + cd ~/Beremiz/Modbus make ``` @@ -140,8 +141,7 @@ ### Launch Beremiz IDE ``` -cd ~/Beremiz/beremiz -python Beremiz.py +~/Beremiz/venv/python ~/Beremiz/beremiz/Beremiz.py ``` ## Run standalone Beremiz runtime ## @@ -150,7 +150,7 @@ ``` mkdir ~/beremiz_runtime_workdir -python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_runtime_workdir +~/Beremiz/venv/python ~/Beremiz/beremiz/Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/beremiz_runtime_workdir ``` To connect IDE with runtime, enter target location URI in project's settings (project->Config->BeremizRoot/URI_location) pointed to your running Beremiz service in this case : diff -r 0010719d0dea -r 5b65b8f6d523 requirements.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/requirements.txt Wed Jul 26 16:40:51 2023 +0200 @@ -0,0 +1,44 @@ +# generated by pip freeze +aiofiles==23.1.0 +aiosqlite==0.19.0 +async-timeout==4.0.2 +asyncua @ git+https://github.com/FreeOpcUa/opcua-asyncio.git@98a64897a2d171653353de2f36d33085aef65e82 +attrs==23.1.0 +autobahn==23.1.2 +Automat==22.10.0 +Brotli==1.0.9 +cffi==1.15.1 +click==8.1.3 +constantly==15.1.0 +contourpy==1.0.7 +cryptography==40.0.2 +cycler==0.11.0 +fonttools==4.39.3 +gattrdict==2.0.1 +hyperlink==21.0.0 +idna==3.4 +ifaddr==0.2.0 +incremental==22.10.0 +kiwisolver==1.4.4 +lxml==4.9.2 +matplotlib==3.7.1 +msgpack==1.0.5 +Nevow @ git+https://git@github.com/beremiz/nevow-py3.git@cb62cc37824361725c0c0a599802b15210e6aaa3#egg=Nevow +numpy==1.24.3 +packaging==23.1 +Pillow==9.5.0 +pycountry==22.3.5 +pycparser==2.21 +pyparsing==3.0.9 +Pyro5==5.14 +python-dateutil==2.8.2 +pytz==2023.3 +serpent==1.41 +six==1.16.0 +sortedcontainers==2.4.0 +Twisted==22.10.0 +txaio==23.1.1 +typing_extensions==4.5.0 +wxPython==4.2.0 +zeroconf==0.62.0 +zope.interface==6.0 diff -r 0010719d0dea -r 5b65b8f6d523 setup.py --- a/setup.py Tue Jul 25 21:26:31 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -""" -Install Beremiz -""" -from setuptools import setup - -setup( - name='beremiz', - version='0.1', - install_requires=["Twisted == 20.3.0", "attrs == 19.2.0", "Automat == 0.3.0", - "zope.interface == 4.4.2", "Nevow == 0.14.5", "PyHamcrest == 2.0.2", - "Pygments == 2.9.0", "Pyro == 3.16", "constantly == 15.1.0", - "future == 0.18.2", "hyperlink == 21.0.0", "incremental == 21.3.0", - "pathlib == 1.0.1", "prompt-toolkit == 3.0.19", "zeroconf-py2compat == 0.19.10", - "idna == 2.10"] -)