Skip to content
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

pythonPackages.venvShellHook: init #77644

Merged
merged 1 commit into from Jan 14, 2020
Merged

pythonPackages.venvShellHook: init #77644

merged 1 commit into from Jan 14, 2020

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Jan 13, 2020

This is a hook that loads a virtualenv from the specified venvDir
location. If the virtualenv does not exist, it is created.

This PR was prompted by #77569.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a way to get ensureNewerSourcesForZipFilesHook as a part of this? generally pip will prefer wheels if available.

Copy link
Contributor

@d-goldin d-goldin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally I think it's a good idea, see remarks for minor fixes/typos.

Tried the basic cases and worked fine. Do we think there is any need to provide a similar mechanism for python 2 w. virtualenv or should we just stick to python 3?

@FRidh
Copy link
Member Author

FRidh commented Jan 14, 2020

I don't think we should provide a Python 2 solution anymore. If someone needs it, implements it, and maintains it then I see no reason to stop them though.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other than @d-goldin suggestions, LGTM

was able to create a venv with just:

with import ./. {};

mkShell rec {
  name = "tmp";
  venvDir = "./venv";
  buildInputs = [
    python3Packages.venvShellHook
  ];
}

This is a hook that loads a virtualenv from the specified `venvDir`
location. If the virtualenv does not exist, it is created.
@FRidh FRidh force-pushed the venv branch 2 times, most recently from 85d046c to 60d8f54 Compare January 14, 2020 19:35
@FRidh
Copy link
Member Author

FRidh commented Jan 14, 2020

is there a way to get ensureNewerSourcesForZipFilesHook as a part of this? generally pip will prefer wheels if available.

Added it.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I say let's merge as the doc PR was updated to reflect this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants