Posted as a wiki article:
https://github.com/weewx/weewx/wiki/Run-WeeWX-in-a-virtual-environment

On Mon, Oct 31, 2022 at 10:25 AM Tom Keffer <tkef...@gmail.com> wrote:

> Unfortunately, as you discovered, this is a little tricky. If you run
> setup.py from the virtual environment, things end up in funny places.
>
> Instead, use the system's python to set things up using setup.py, then
> switch to the virtual environment to install dependencies, then run weewxd.
> But, first you'll need configobj, because setup.py requires it. However, DO
> NOT INSTALL configobj from the weewx distribution subdirectory, because pip
> will see the setup.cfg and put configobj in a funny spot.
>
> Here's  the way I do it:
>
> # First install configobj. Can be done anywhere, but NOT in the weewx
> distribution subdirectory
> cd /home/weewx
> python3 -m pip install --user configobj
> # Unpack the tarball, then cd into the resultant subdirectory
> tar xvf weewx-4.9.1.tar.gz
> cd weewx-4.9.1
> # Set up /home/weewx using the system's version of python
> python3 setup.py install
> # Now set up the venv in /home/weewx
> cd /home/weewx
> python3 -m venv weewx_venv
> # Activate it
> source ./weewx_venv/bin/activate
> # Install dependencies in the  virtual environment
> python3 -m pip install configobj Cheetah3 Pillow pyserial pyusb pyephem
> # Now you can run weewxd in the virtual environment
> python3 ./bin/weewxd
>
> For running as a systemd daemon, set up your systemd file so that it uses
> the version of Python in the venv. That is, ExecStart will look something
> like this:
>
> ExecStart=/home/weewx/weewx_venv/bin/python3 /home/weewx/bin/weewxd
> /home/weewx/weewx.conf
>
> A major goal of WeeWX Version 5 is to make this all easier. In particular,
> use pipenv, or similar tool, to install things from pypi.org into a
> virtual environment. Unfortunately, we may end up with a bit of a hybrid
> mix because the Python install tools are not really designed to handle data
> such as the skins and configuration file.
>
> Let me know how things go.
>
> -tk
>
>
> On Mon, Oct 31, 2022 at 9:12 AM gearoid <gearoidw...@gmail.com> wrote:
>
>> I'd like to be able to install weewx and run it using a virtual
>> environment instead of using the system's interpreter.
>>
>> When I run "sudo <path to vevn's python> setup.py install" I get an error
>> about not being able to use both prefix and exec_prefix.
>> I commented out exec_prefix= in setup.py.
>> The install runs but a bunch of files are placed in the virtual
>> environment's directory and not in /home/weewx.
>>
>> I moved those files into /home/weewx myself and it seem to be working.
>>
>> I'd like to be able to do that without those hacks.  If someone can give
>> some pointers and it's a reasonable thing to be able to do I'd be happy to
>> make the PR.
>>
>> I'm using Ubuntu, pyenv to install python 3.10.8.
>> Using python venv to create the 3.10.8 virtual environment and then pip
>> to install the required modules (so no apt installed packages).
>>
>> Gearoid.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to weewx-user+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/8fa1b5ce-7c78-449f-bf56-b9a2b53de99dn%40googlegroups.com
>> <https://groups.google.com/d/msgid/weewx-user/8fa1b5ce-7c78-449f-bf56-b9a2b53de99dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEADvCEUvM42ngD6%2Bog0wTP1_zDu-NFfzhjj_-stizZpTA%40mail.gmail.com.

Reply via email to