Use requirements.txt and update doc accordingly.
authorEdouard Tisserant <edouard.tisserant@gmail.com>
Wed, 26 Jul 2023 16:40:51 +0200
changeset 3835 5b65b8f6d523
parent 3834 0010719d0dea
child 3836 9b4e94608036
Use requirements.txt and update doc accordingly.
README.md
requirements.txt
setup.py
--- 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"]
-)