From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id eOUIF/RouV4vfgAA0tVLHw (envelope-from ) for ; Mon, 11 May 2020 15:02:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id CIJ0FQJpuV4OXAAAB5/wlQ (envelope-from ) for ; Mon, 11 May 2020 15:02:26 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CD2C2940F90 for ; Mon, 11 May 2020 15:02:23 +0000 (UTC) Received: from localhost ([::1]:42202 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jY9wm-0003O9-H5 for larch@yhetil.org; Mon, 11 May 2020 11:02:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jY9wI-00030S-51 for help-guix@gnu.org; Mon, 11 May 2020 11:01:54 -0400 Received: from mail-il1-x12c.google.com ([2607:f8b0:4864:20::12c]:40663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jY9wG-0002Dh-Of for help-guix@gnu.org; Mon, 11 May 2020 11:01:53 -0400 Received: by mail-il1-x12c.google.com with SMTP id e8so853973ilm.7 for ; Mon, 11 May 2020 08:01:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=roylemmon-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tHVr7Q4JfgQah+tevY21Pa+Bql3TnIvT7IQDK8Wj2Oc=; b=maTcKFF/MhjQkJJ5PCbsmuJGdMaUbYrAu9PreVBdGFjmdNHTtszrFc3YirwPJ8NGKv tQ4cyanO9Sp5j0ldBdqbaOwv1i1l1P7NMXVFbwpb/Wdqk7alRdGk7pZSFuf8LBZd18qQ fwozY64hJCb0lRWLQimUu/DlToltHJndH2XEpLevrXyzbABCd4ascgyk5n6S2Pgqd1nv A3eUsBfDzzMKXM/qYz7CcDzQewINaYn6t6aUUBWrWiYXuvRt12e8/eBVPBh984PFjKuk GHuyopEbD1UQWLhLNTcOeUD4Kz1rwe4U+/4e/aK6nWFMfDPV1rHM9GCp63O3HGOKaBzC LF6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tHVr7Q4JfgQah+tevY21Pa+Bql3TnIvT7IQDK8Wj2Oc=; b=F46DRXEF++kcug6OWc1f1r1s46g/yR3QQB+gQ4/CYHQKYy18BqN/8Cf+20tReVNs5a kLTMhq0sapJFKpRrV1L9QCOqDJwDvIM90oqt6D5UafSHlfuVvt1JACInLe7TV92lP6t1 qFiuTROkrPOSzGfbAwfQpgTCZX4g/IegSeOGxshZQPaHuG5peUeZu7fVMSB0AjP1a7n3 +kdUDOpil1V+3HgSNpwi7EMeUWTJxoC1i0A2Gpe3MZgxzCDQEYI2AJNi/1Si+fuM9qmi kZyo1+pARVa6JS8Z9ySlkuc7INonC/aLtKApgNBuHAcveFXyljDUkkMYx65cwThut4SC IQXg== X-Gm-Message-State: AGi0PubfSE7OwoRFI0a4/6KomY7fkYbXTxceIHw4L7wUVD6tLGQIXVb/ j8DEfeLVJ/nsIms6HbUVnv+F9RBumP8IlQfvt852S1oDUP4= X-Google-Smtp-Source: APiQypKh2m634hE7tvsFW0Ep3sp7RbbLIWSsAyo0szGNNwJM0FNN0ld8R7w1kLjrCzJ+SxlMlMx7snzBnRrIdbor5K4= X-Received: by 2002:a05:6e02:92d:: with SMTP id o13mr6685615ilt.142.1589209311013; Mon, 11 May 2020 08:01:51 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Roy Lemmon Date: Mon, 11 May 2020 16:01:39 +0100 Message-ID: Subject: Re: Setting up a python environment To: zimoun Received-SPF: none client-ip=2607:f8b0:4864:20::12c; envelope-from=roy@roylemmon.com; helo=mail-il1-x12c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 X-Spam-Score: -0.01 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=roylemmon-com.20150623.gappssmtp.com header.s=20150623 header.b=maTcKFF/; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Scan-Result: default: False [-0.01 / 13.00]; GENERIC_REPUTATION(0.00)[-0.54015878627793]; DWL_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; R_DKIM_REJECT(1.00)[roylemmon-com.20150623.gappssmtp.com:s=20150623]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.07), country: US(-0.00), ip: 209.51.188.17(-0.54)]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[roylemmon-com.20150623.gappssmtp.com:-]; RCPT_COUNT_TWO(0.00)[2]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MAILLIST(-0.20)[mailman]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_IN_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; TAGGED_FROM(0.00)[larch=yhetil.org]; FROM_NEQ_ENVFROM(0.00)[roy@roylemmon.com,help-guix-bounces@gnu.org]; ARC_NA(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; URIBL_BLOCKED(0.00)[roylemmon.com:email]; FROM_HAS_DN(0.00)[]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[help-guix@gnu.org]; HAS_LIST_UNSUB(-0.01)[]; DMARC_NA(0.00)[roylemmon.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.51.188.17:from]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: w7Nl44MbUc6d Hi Simon, That is very helpful indeed thanks. I will work through that. Cheers Roy. On Mon, 11 May 2020, 15:51 zimoun, wrote: > Hi Roy, > > On Mon, 11 May 2020 at 14:49, Roy Lemmon wrote: > > > I would like to ask about the general philosophy of setting up a python > > environment under guix. > > Well, let me describe my workflow -- and I do not know if it the correct > one. > > I use 'manifest', 'profile' and "guix environment". For each project > I am working on, I have dedicated folder containing the code, doc and > other files useful for the very project. In this folder, I add a > manifest file [1] tracking the tools that the project needs. From > this manifest, I instantiate a profile in the project folder. And I > track the channel too to be able to reproduce elsewhere and elsetime. > Time to time, I spawn an environment with the manifest to do some > checks. Well, basically, the CLI looks like: > > cd /path/to/project > edit manifest.scm > guix package -m manifest.scm -p profile > guix describe -f channels > channels.scm > git add manifest.scm channels.scm > git commit -am > > eval $(guix package --search-paths=prefix -p profile) > ipython > > guix environment -m manifest --ad-hoc python-other-tools > > guix time-machine -C channels.scm -- environment -m manifest.scm > > > Last, when a package is missing, I use "guix import pypi -r name". If > the package is correctly packaged on the PyPI side, it is almost done. > ;-) > To be concrete, again in the project folder: > > guix import pypi -r astropy > pkgs.scm > edit pkgs.scm # add define-module etc. > guix show -L . python-astropy > edit pkgs.scm # add missing import > guix show -L . python-astropy # works! > > guix build -L . python-astropy > > Well, and then the "hard" packaging job starts. :-) > Find attached 'pkgs.scm' still failing to build but maybe a starting point. > > > Hope that helps, > simon >