Offline seleniumlibrary installer

Using the command:
pip3 install robotframework-seleniumlibrary

The above command tries to connect to the internet, is it trying to download some dependencies for seleniumlibrary? What are all the dependencies required?

The host I am trying to install on has no network connections.

Hi Hiep,

That command will try to connect to pypi.org to download the files needed to install the seleniumlibrary library for robotframework, initially it will download these whl and tar.gz files and then if there are any dependancies it will try to download those as well.

Most pip packages come from pypi.org so it’s a host you probably want to allow if you are doing anything with python or robot framework.

Dave.

Hi Hiep,

I just saw you are trying to install Offline, I’ve never tried this, it could be quite challenging.

From this we can see the dependancies for robotframework-seleniumlibrary are:

I included links to those modules for you, but not sure if they also have dependancies?

But that’s only half the story, then you will need a browser and a web driver so selenium can “talk” to the browser, the web driver you need will depend on the browser you are planning to use.

Is there no way you can get a firewall rule to allow your test machines to at least access pypi.org? it will make your life much easier.

Hope that helps get you started.

I’ll try to help if you get stuck, just reply on this thread.

Dave.

It looks like the dependancies for robotframework-pythonlibcore are:
invoke >= 0.20
rellu >= 0.6
twine
wheel
ytest
pytest-cov
pytest-mockito
robotstatuschecker
flake8

and for selenium are:
“dependencies”: {
@apollo/client”: “^3.3.20”,
@material-ui/core”: “^4.11.4”,
@material-ui/icons”: “^4.11.2”,
@novnc/novnc”: “^1.2.0”,
@types/react”: “^17.0.11”,
@types/react-dom”: “^17.0.7”,
@types/react-modal”: “^3.12.0”,
@types/react-router-dom”: “^5.1.7”,
“clsx”: “^1.1.1”,
“graphql”: “^15.5.0”,
“graphql.macro”: “^1.4.2”,
“jszip”: “^3.5.0”,
“pretty-ms”: “^7.0.1”,
“react”: “^17.0.1”,
“react-dom”: “^17.0.1”,
“react-modal”: “^3.14.3”,
“react-router-dom”: “^5.2.0”,
“react-scripts”: “^4.0.3”,
“rimraf”: “^2.7.1”,
“source-map-explorer”: “^2.5.2”,
“tmp”: “^0.2.1”,
“ws”: “^7.4.6”
}

as you can see this could go on for quite a while as you find all the dependancies for the dependancies.

Dave.

thanks, I was about to post, what is the dependencies for pythonlibcore, because when I ran the install it tries to connect to the net.

I agree the list can become long. I had the same issue when tried to install RIDE offline, but that dependency list isnt that extensive.

Basically you need to go to https://pypi.org/ for each module, find the module, go to it’s homepage (often a github link) and then find in the code the file that lists the dependencies.

That’s how I got these for you, unfortunately I don’t know of a better way to do offline installs of python packages.

What’s the reason you need to do the offline install? is there really no way your test machine can be networked?

Dave.

total offline install required.

The other thing to consider, is if you are going to need to install these things on multiple test machines in your environment?

There is an option for an alternate repository so you might want to set up a webserver in your test lab, and point pip to it, then just mirror pypi.org to your web server.

Not sure if that’s an option, but just trying to offer ideas to make life easier for you.

Dave.

Help much appreciated Dave. Network firewall preventing internet download so unfortunately have to install offline.
Installation only on a single machine for now

Ok, well good luck hope you get it working.

Dave.

Is there a way to save all the dependencies in a folder. Then get force the install to look into that folder.
When I try to install the dependencies individually I am running into the issue where the dependencies have a certain order.

" There is an option for an alternate repository so you might want to set up a webserver in your test lab, and point pip to it, then just mirror pypi.org to your web server."

So I have a pypi-proxy repository which contains all the dependencies, how do i force the installer to look at this pypi-proxy repo

It looks like the answer is in the “alternate repository” link

Hi Hiep,

Yeah, the alternate repository link was the option, I did find this python module pypi-mirror that may help in creating your offline mirror but i’ve never used it.

Another option, you can use a proxy server, but I didn’t suggest that because the proxy server would still need internet access and if your test environment is not allowed internet access then your network/security team would probably see a proxy server as an attempt to circumvent that.

I’m guessing your working at a secured government site somewhere (I previously worked as a civilian for my local police department so I know the pain).

Dave.