Intro and Python 3 / Folder Behavior Questions


Hello all,
Long time lurker first time poster, really nice forum thanks to everyone up front. Please excuse the wordy post, just want to include all related info.

I have two generic questions which I think are somewhat entangled and figured this might be the best place for them.

I have looked through the git hub wiki and other sources but have not found specifics and was hoping someone here can point me in the right direction.


I recently forced an update to python 3 and appear to be ahead of the stable branch although I don't believe I did anything special, is this simply because of the pure python 3 environment?

i.e. Related info and update process

$mkdir OctoPrint3
$cd OctoPrint3/
$virtualenv -p /usr/bin/python3 ./venv
$source venv/bin/activate
$python -V
  Python 3.7.3
$pip install octoprint
$sudo systemctl start octoprint.service

edited the init script to point toward the new virtual and restarted / confirmed with

$sudo systemctl start octoprint.service
$ps aux | grep octoprint 
   .../home/pi/OctoPrint3/venv/bin/python3 /home/pi/OctoPrint3/venv/bin/octoprint serve --config /home/pi/.octoprint/config.yaml --basedir /home/pi/.octoprint --port=5000

Additionally 'Setting' > 'Software Update' shows 'OctoPrint : 1.4.0rc5' after login.


What is the intended behavior of the watched folder / is my understanding correct?

My Current Understanding:

From what I have read: the watched folder is to be used to as an option for loading .gcode files into the Octoprint menu without directly using the ~/.octoprint/uploads folder as that folder is intended to be managed by the system.

Files should be moved from the watched folder to the uploads folder where they will appear in the menu. Once printed files should be removed from the watched folder automatically.

This has been my experience when starting the service but not always while running even with the 'polling' check box selected

Q2: If a file lands in the watched folder it's as if you've uploaded that same file via the web interface, the analysis will kick off and it will be represented in the File side panel widget and moved sideways into the uploads folder after all this and the .metadata file will be updated to its existence. The OctoPrint service needs to be running for this to happen, however.

Q1: I'm not sure why you have a release candidate, to be honest.

I'm not used to starting the octoprint service via systemctl. Mine was imaged from OctoPi and therefore mine is started via sudo service octoprint start (which would mean that there's a file in /etc/init.d called octoprint in my case).

Thank you for the info, I also wanted to follow up as I was able to replicate this same behavior on an entirely different system.

Creating a python virtual environment and installing octoprint with pip or pip3 both yielded octoprint, version 1.4.0rc5. Assuming this the only version compatible with python 3.7 so it reverts to upstream. (?)

Original system: Raspberry Pi 3 -> Buster Lite -> Running Octoprint in virtual python 2.7

(venv)$uname -a
Linux OE 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux
(venv)$python -V 
Python 2.7.16

Replicated System: Intel Desktop -> Gentoo (open rc) -> Running Octoprint in virtual python 3.7

(venv)$uname -a
Linux ****** 4.19.97-gentoo #4 SMP Thu Feb 13 10:43:15 EST 2020 x86_64 Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz GenuineIntel GNU/Linux
(venv)$python -V
Python 3.7.5

Hope this info helps in the future.