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.
@FRidh FRidh requested a review from jonringer as a code owner Jan 13, 2020
@FRidh FRidh requested a review from d-goldin Jan 13, 2020
@FRidh FRidh mentioned this pull request Jan 13, 2020
3 of 10 tasks complete
Copy link
Contributor

@jonringer jonringer left a comment

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

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 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

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 FRidh:venv branch 2 times, most recently from 85d046c to 60d8f54 Jan 14, 2020
@FRidh
Copy link
Member Author

@FRidh 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.

@FRidh FRidh force-pushed the FRidh:venv branch from 60d8f54 to 36a63cb Jan 14, 2020
Copy link
Contributor

@jonringer jonringer left a comment

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

@FRidh FRidh merged commit eba1f79 into NixOS:master Jan 14, 2020
13 checks passed
13 checks passed
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.