-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add script to find dependencies of Python packages #3839
Conversation
Example usage with EasyBuild: ``` eb TensorFlow-2.3.4.eb --dump-env source TensorFlow-2.3.4.env findPythonDeps.py tensorflow==2.3.4 ```
dfeb2f8
to
cfa1929
Compare
Improves the error messages generated.
I just tested this with an existing easyconfig.
|
Would the pip upgrade in the virtualenv help with that I wonder...probably not a bad idea to be using the latest and greatest for the use case here. |
I agree it's a good idea, but it didn't help in this case. |
Ok, done.
Does |
That comment indeed doesn't read right. pythran relies on beniget and gast (https://github.com/serge-sans-paille/pythran/blob/master/requirements.txt) |
Apart from the issue around |
I tested this out with a set of read-only EB installations with
and got this output
|
It may try but not actually do due to using a virtualenv. Try to run in verbose mode. |
@Flamefire: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-framework/actions/runs/2628385631
bleep, bloop, I'm just a bot (boegelbot v20200716.01) |
Seems that if I run it three times I get three different results, the first fails, the second succeeds (but doesn't report all deps), the third fails again. output of first run, which fails
successful output for second run
failed output for third run
|
In my environment |
Confirmed, after unsetting that var it worked out of the box (and for numerous iterations) |
Then I think it makes sense to do that in the script. Can you test the new version? |
This works great now. One small niggle with your dependency checking, it throws false positives if the user has non-allowed modules loaded:
The warning is in stderr, so if you only parse stdout you could avoid it (or you could make sure the line includes a easyconfig filename) |
Check only stdout not stderr. The latter may contain lines like > WARNING: Found one or more non-allowed loaded (EasyBuild-generated) modules in current environment: > * GCCcore/10.3.0
Good catch. Added a toggle to NOT capture stderr to the run-wrapper. Can you retest? |
This works in all my scenarios now. I think you need to add it to the list at https://github.com/easybuilders/easybuild-framework/blob/develop/setup.py#L99 so that it actually get's installed with a new release. |
Ah, maybe not, I guess it is already covered in https://github.com/easybuilders/easybuild-framework/blob/develop/setup.py#L102 |
We may even want to combine both into |
Changing the installation will just delay this PR. I'm going to merge as is, and then if you feel strongly about moving things to |
Example usage with EasyBuild:
Or now:
findPythonDeps.py tensorflow==2.3.4 --ec TensorFlow-2.3.4.eb