[Nix-dev] myEnvFun for IPython with Nix on openSuse host

Andreas Herrmann andreash87 at gmx.ch
Sun Jun 1 17:17:04 CEST 2014


Dear Luca,

Thanks for your response.

> What commit of nixpkgs are you tracking?
How do I find that out?

I installed Nix using the install script, not the from source installation.
So, I never manually checked out any package list.

I ran the following commands. They didn't really do anything. In my
interpretation that means, that my Nix installation should already be
up-to-date. Correct?

$ nix-channel --list
nixpkgs http://nixos.org/channels/nixpkgs-unstable
$ nix-channel --update
downloading Nix expressions from `
http://releases.nixos.org/nixpkgs/nixpkgs-14.10pre44162.11ac14f/nixexprs.tar.xz'.
..
  % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current
                                 Dload  Upload   Total   Spent    Left
 Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--
  0
unpacking channels...
$ nix-env -u \*
$

Cheers.


On 1 June 2014 16:35, Luca Bruno <lethalman88 at gmail.com> wrote:

> What commit of nixpkgs are you tracking? Try upgrding your nixpkgs, that
> should have been fixed a while ago.
>
>
> On Sun, Jun 1, 2014 at 4:12 PM, Andreas Herrmann <andreash87 at gmx.ch>
> wrote:
>
>> Hi everyone,
>>
>> I am very new to Nix, so let me apologize in advance if this ends up
>> being a stupid question.
>>
>>
>> # First, some back story:
>>
>> The reason I got interested in Nix is that I am doing scientific
>> computing on a number of different machines with self-made simulation
>> software. Hence, I need to keep my development environments in sync on
>> these various machines. A tiresome task that, so far, I am performing
>> manually. I understand that Nix is promising to help in such situations.
>>
>> So, I went ahead and installed Nix in single user mode on my laptop which
>> is running on openSuse 13.1. That is, I used the install script [1], and
>> installed Nix under /nix. On the wiki I found a section [2] about managing
>> development environments, which introduces a thing called myEnvFun. It
>> worked out for a simple environment to use numpy:
>>
>>     numpy = pkgs.myEnvFun {
>>       name = "numpy";
>>       buildInputs = with pkgs; let p27=python27Packages; in [
>>         stdenv python
>>         p27.readline
>>         p27.numpy
>>       ];
>>     };
>>
>> I've installed it using `nix-env -i env-numpy`, and loaded it using `
>> load-env-numpy`, and everything seems to work fine.
>>
>>     $ load-env-numpy
>>     env-numpy loaded
>>     $ which python
>>     /nix/store/qikwsrbsyx59ygcmb36p1rgmfclgg882-python-2.7.6/bin/python
>>     $ python
>>     Python 2.7.6 (default, Apr 21 2014, 11:09:09)
>>     [GCC 4.8.2] on linux2
>>     Type "help", "copyright", "credits" or "license" for more information.
>>     >>> import numpy.version
>>     >>> numpy.version.version
>>     '1.7.1'
>>
>> However, I would prefer to do develop using the IPython shell. So, I
>> wrote another environment that encorporates ipython:
>>
>>     ipython = pkgs.myEnvFun {
>>       name = "ipython";
>>       buildInputs = with pkgs; let p27=python27Packages; in [
>>         stdenv python
>>         p27.readline
>>         p27.ipython
>>         p27.numpy
>>       ];
>>     };
>>
>> Installing it works just fine. Loading the environment on the other hand
>> doesn't.
>>
>>
>> # The Problem
>>
>> I get a huge amount errors about gdk-bug when I load the ipython
>> environment defined above:
>>
>>     $ load-env-ipython
>>     mkdir: cannot create directory ‘/lib/gdk-pixbuf-loaders-2.0/’:
>> Permission denied
>>     # repeated 61 times
>>     mkdir: cannot create directory ‘/lib/gdk-pixbuf-loaders-2.0/’:
>> Permission denied
>>
>> /nix/store/1j8nx7r6a7s76hj14b7lgqij7yddmvw2-gdk-pixbuf-2.30.6/nix-support/setup-hook:
>> line 11: /lib/gdk-pixbuf-loaders-2.0//loaders.cache: No such file or
>> directory
>>     mkdir: cannot create directory ‘/lib/gdk-pixbuf-loaders-2.0/’:
>> Permission denied
>>     # repeated 17 times
>>     mkdir: cannot create directory ‘/lib/gdk-pixbuf-loaders-2.0/’:
>> Permission denied
>>     env-ipython loaded
>>
>> Depsite the error messages, the environment seems to work.
>>
>>     $ ipython
>>     Python 2.7.6 (default, Apr 21 2014, 11:09:09)
>>     Type "copyright", "credits" or "license" for more information.
>>
>>     IPython 2.0.0 -- An enhanced Interactive Python.
>>     ?         -> Introduction and overview of IPython's features.
>>     %quickref -> Quick reference.
>>     help      -> Python's own help system.
>>     object?   -> Details about 'object', use 'object??' for extra details.
>>
>>     In [1]: import numpy
>>
>>     In [2]: numpy.version.version
>>
>>
>> # My Question
>>
>> What is going on there? Is this because I'm using Nix on a host OS,
>> instead of NixOS?
>> Or, am I just missing some package in the environment? In which case,
>> shouldn't Nix take care of this, and make sure all dependencies are
>> available?
>> One instance of a kind-of missing dependency is already the readline
>> module. If I don't mention it explicitly in the environment, python is
>> going to complain about it missing.
>>
>>
>>  Thanks in advance for your help. And also thanks for doing this project
>> in the first place.
>>
>> Best regards,
>>
>> Andreas
>>
>> [1]: https://nixos.org/nix/install
>> [2]:
>> https://nixos.org/wiki/Howto_develop_software_on_nixos#Obtaining_an_Environment_from_a_Custom_Definition
>>
>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>
>>
>
>
> --
> www.debian.org - The Universal Operating System
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20140601/7ec09bc9/attachment.html 


More information about the nix-dev mailing list