python environments without using Conda

Hi Dear,
Good Friday,
I would like to make python environments (Python & Python Deep Learning) on an offline secure server that does not have access to the Conda mirror. The secure server only has access to Python and R in an internal mirror.
I can not use the YAML file because there is no Conda, and because it is a secure server there is limited access also in some cases: like virtualenv, etc.
so I will really be happy if someone would help me out.
Thanks a lot.
Happy weekend.
Best
Reza

Hi,
have you checked the python settings under Knime preferences? Is conda there the only way (currently I have KNIME not open so I can’t check myself)
br

Hi @Daniel_Weikert
Sorry. I did not get your point.
If you are talking about doing it manually, that is my question. How can do it?
Best
Reza

@RezaBaharmand it should work like this:

https://docs.knime.com/latest/python_installation_guide/index.html#configure_python_integration


Hi @mlauber71 ,
I know the solution you mentioned.
this is an error. I am trying to solve it., and I think I found a solution for that.
if it will work I will write here.
Thanks, both of you. @mlauber71 @Daniel_Weikert.
Best
Reza

@RezaBaharmand fromm the error messages it seems a version of pandas and numpy is missing. Also you will likely need py4j.

It might be an option to check the YAML file for Python38 and Windows to see what packages are needed:

I install the packages successfully for python, manually and it was not fun.:grin:
now, my question is instead of the Conda environment node, what can I use?

@RezaBaharmand one alternative would be the package installer. But this would not try to check for inconsistencies- you would have to do that yourself.

https://pip.pypa.io/en/stable/

Any specific reason why Miniconda combined with conda-forge repository is. It sufficient for you?

with “manually” you mean using pip? Just for my understanding
br

Yes, Install 143 Packages with pip.

I think we are talking about two different things now.
Maybe I asked a dumpy Question.
My point is when I do not have Conda environment node in Knime, Because I do not have access to Conda, what alternative do I have? Nothing.

@RezaBaharmand the KNIME Python nodes would use the Python version you have configured in the preferences. If you do not use conda the nodes would use whatever Python version you have configured under the preferences:

In the node configuration you can just leave the default:

image

3 Likes

@mlauber71
Thanks a lot.
Best
Reza

1 Like

but you did not install them individually right?

yes, I install them individually.

You might be able to use Poetry: Poetry dependency management.

If I understand correctly, you want to create a Python environment on a network computer, then transfer it to a secure computer without [public] network access.

Assuming you have a base installation on your networked computer of Python and Poetry.

1/ Set in the Poetry Config: virtualenvs.in-project = true. This will create the virtual environment in the project directory rather than in the Poetry directory in your home directory.

2/ Crete a new Poetry project somewhere on your networked computer. Poetry New Project-Name

3/ Add packages to the project: Poetry Add pandas numpy ... This will add the packages to the pyproject.toml file. You may need to tweak the version of Python in the toml file. Unlike Conda, Poetry does provide some helpful hints to resolve problems.

4/ Install the packages: Poetry Install . This will install Python and the packages into the .venv directory in the project folder. Note: If you are using VSCode then it can also pick this up as your Python environment.

5/ Copy the .venv folder to your secure server.

6/ Point the Preferences->KNIME->Python to .venv\Scripts\python.exe .

You should be good to go.

If you need to update the packages then you can do Poetry Update on your networked computer to get the most recent versions. Then copy the .venv folder to your secure machine.

Hope that helps.

3 Likes

Hi @DiaAzul,
Thanks a lot.
I will try that.
Best
Reza

Is it possible to use a simple requirements.txt file for “bulk” installing the packages? Then you are good to go
best regards

1 Like

Hi @Daniel_Weikert ,
That is true.
Thanks a lot.
Best
Reza

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.