Install develop branch using pip to run multiple streamlit instances on different ports

Is there a way to install latest develop branch of the repo in current virutal environment? In other words, what is the recommended way to install from source? I tried following documentation from https://github.com/streamlit/streamlit/wiki/Contributing but ran into errors.

What is the quickest way to get latest-and-greatest streamlit up and running from source (possibly a docker container from source)? Not for development purposes but for some features that recently got merged.

I am specifically interested in https://github.com/streamlit/streamlit/pull/186 changes so I can have multiple streamlit running on different ports on the same machine.

Hi @maddyonline

If all you need is to run multiple Streamlit servers on different ports, but you don’t care which specific ports, then you shouldn’t need the latest and greatest version. You can just call streamlit run $APP for different values of $APP and Streamlit will pick the next available port each time. Just make sure you have the latest release of Streamlit, 0.47.4.

But you probably already knew that. So assuming that’s not good enough for you, the only solution really is to build from develop using the instructions you linked, and then do the following:

  1. make all
  2. make install
  3. make wheel
  4. Copy the wheel file from ./lib/dist/streamlit*.whl to some place you’ll remember
  5. Then, in your Dockerfile:
    a. Copy the wheel file into the container
    b. Run pip install path/to/the/wheel/file.whl

That said, you mentioned you ran into problems when following the CONTRIBUTING docs, and the above depends on those instructions. So what are the errors you ran into?

Thanks @thiago for your reply. Your first solution (letting Streamlit choose ports) worked for me.