Python depencies - install from github repo
The following syntax at the top of my python script fails to deploy with:
pip._internal.exceptions.DistributionNotFound: No matching distribution found for maxpanda-python-sdk
This syntax works from the command line and requirements.txt file locally.
Is this possible in Windmill?17 Replies
Can you renove
maxpanda-python-sdk @
fom it and try ?@rubenf removing the
maxpanda-python-sdk @
allows the lockfile to generate but when I try to run the script I get ERROR: Invalid requirement: '@'
:
I think you still have it in your file somehow
it wouldn't get that @ by itself
@rubenf Here is a recording of a new script creation which reproduces the issue:
Thanks, will look into it
@rubenf Lockfile generation is producing a valid lockfile syntax. It seems the command that bootstraps the job environment isn't able to handle a valid entry in the lockfile.
I'm struggling to find a workaround. I tried uploading the sdk to
f/sdks/maxpanda_python_sdk
and import f.sdk.maxpanda_python_sdk
as needed but the automatic requirement parsing is also breaking for the individual sdk files.Understood but I won't be able to help before I investigate
Ok thanks for your help!
I spent the last few days looking at this for our private pypi package:
I was not able to get it working with
PIP_EXTRA_INDEX_URL
, might need your help with that one @rubenf . I will look at a minimum reproducible example soon.
I was able to get it working in our Self-Hosted environment like so:
* use #requirements:
to specify the exact Git SSH URL with the version tagged using @
:
* Add Init Script to worker which adds github.com to known_hosts
for SSH:
* Mount on the workers the private SSH key authorised to access the Git repo:
This seems to have issues when re-using the cached resolution on another worker; I would imagine INIT_SCRIPT runs on both workers so I'm not sure why the host key would fail to verify
Scaling to just one worker fixes this; also had to run delete from pip_resolution_cache ;
on the postgres containerlooks like you would need to run a command prior to do the pip install, this one:
You can try adding it to the init script but otherwise we would support it in EE
Thanks for getting back to me, I was looking at the EE pricing today with my teammate, I asked you previously about Non Profits but the pricing page doesn't seem clear. Does Pro(NfP) = EE?
I have the
ssh-keyscan
command in step 2 above, already in init script. For some reason it works on the first worker, but as soon as the script is allocated to another worker it fails.
Re-running incessantly until the original worker is chosen again will allow it to work successfullyyes, Pro(NfP) = EE
are you sure it's (/root/.ssh) and not (/.ssh) ?
hmm well it works on one, you mean try with ~/.ssh?
I would play with bash scripts rather than python scripts to see what ssh/pip command work and do not
as well as print known_hosts maybe and understand what's happening
Thanks, will be in touch re: licensing 🙂
and I wonder if it wou;d not be easier that you guys setup a proper pypi repo
will allow proper versionning scheme
we do have one but with
PIP_EXTRA_INDEX_URL
we were getting a very strange issue where it would try and install our repo URL as a package, that is the reproduction i am talking about above