Use requirements.txt and update doc accordingly.
--- 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 :
--- /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
--- 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"]
-)