!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

312 Members
https://github.com/nix-community/poetry2nix58 Servers

Load older messages


SenderMessageTime
23 Jan 2022
@k900:0upti.meK900It is somewhat annoying16:59:10
@mou_bugtracker:matrix.orgmouNow i understand. So if my env will change path (due to any changes in attributes), i should update my interpreter settings manually? I think i'ts ok for the start.17:01:42
@mou_bugtracker:matrix.orgmou Does poetry2nix respect interpreter version specification from pyproject.toml? 18:22:41
@mou_bugtracker:matrix.orgmou or should i specify it in mkPoetryApplication? 18:23:39
@tcelferact:matrix.orgtcelferact I've confirmed that a poetry2nix build with just the debugpy package experiences errors, and that a shell.nix python environment with just this package does not. Is it ok if I open an issue on the repo for this? 19:56:07
@worldofgeese:one.ems.hostworldofgeese joined the room.20:50:02
@cgroves:matrix.orgcgroves joined the room.22:10:14
@magisa:matrix.orgmagisa joined the room.23:44:23
@magisa:matrix.orgmagisaHello all! I am very new to this so apologies in advance if I ask something very dumb. I want to install lmdb bindings for python. However if i create a simple poetry pyproject.toml only with that dependancy the build fails. I understand why. It's because there is a very dumb line in there (https://github.com/jnwatson/py-lmdb/blob/master/setup.py#L117-L119) which tries to access /usr/bin/patch. That obviously does not exist on NixOS. I am trying to make this work but I am kind of struggling. If I was to build the package imperative stylez I would install lmdb and then export LMDB_FORCE_SYSTEM before calling setup.py. I know how do the former (I think) from extraPackages in mkPoetryEnv but I do not know how do the latter. I cannot find an option to add a bash script before the build. Appreciate any help you can give me. Thx23:52:27
24 Jan 2022
@magisa:matrix.orgmagisanever mind I am dumb sorry for the distrurbance all. And thanks to all devs for the cool work!!!! 00:05:23
@mou_bugtracker:matrix.orgmou
In reply to @magisa:matrix.org
Hello all!
I am very new to this so apologies in advance if I ask something very dumb. I want to install lmdb bindings for python. However if i create a simple poetry pyproject.toml only with that dependancy the build fails. I understand why. It's because there is a very dumb line in there (https://github.com/jnwatson/py-lmdb/blob/master/setup.py#L117-L119) which tries to access /usr/bin/patch. That obviously does not exist on NixOS. I am trying to make this work but I am kind of struggling. If I was to build the package imperative stylez I would install lmdb and then export LMDB_FORCE_SYSTEM before calling setup.py. I know how do the former (I think) from extraPackages in mkPoetryEnv but I do not know how do the latter. I cannot find an option to add a bash script before the build.
Appreciate any help you can give me. Thx

i'm also beginner so my advice may not lead you to solution. But if i faced this problem, in first place i would look into implementation of this module in nixpkgs https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/lmdb/default.nix

As i understand, for poetry2nix you can define override, which will apply changes to default derivation parameters right before building

07:24:56
@mou_bugtracker:matrix.orgmouAs you can see, environment variables are defined as simple attribute in argument set for buildPythonPackage (which is also used inside poetry2nix)07:29:34
@cchalc:matrix.orgcchalcI am trying to install packages with poetry but running into permission errors. ~/Projects/nix-poetry(branch:dev*)(nix-shell)$ poetry add flask Skipping virtualenv creation, as specified in config file. Using version ^2.0.2 for Flask Updating dependencies Resolving dependencies... (0.6s) Writing lock file Package operations: 5 installs, 5 updates, 0 removals • Installing markupsafe (2.0.1): Failed EnvCommandError Command ['/nix/store/5w2swv66p5sl140my96vcipzi2vfrcxq-python3-3.8.12-env/bin/python3.8', '-m', 'pip', 'install', '--no-deps', '/Users/christopher.chalcraft/Library/Caches/pypoetry/artifacts/cd/11/54/fd481eec49cddc06876e526483e7ee8675d0910fed2aa7668a9fc88e62/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl'] errored with the following return code 1, and output: Processing /Users/christopher.chalcraft/Library/Caches/pypoetry/artifacts/cd/11/54/fd481eec49cddc06876e526483e7ee8675d0910fed2aa7668a9fc88e62/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl Installing collected packages: MarkupSafe ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/nix/store/5w2swv66p5sl140my96vcipzi2vfrcxq-python3-3.8.12-env/lib/python3.8/site-packages/markupsafe' Check the permissions. I have a shell.nix that looks like this: { pkgs ? import <nixpkgs> {} }: with import <nixpkgs> {}; let pythonEnv = python38.withPackages (ps: with ps; [ flake8 black pynvim ipython python-language-server.override { pylint = null; } pip poetry ]); in pkgs.mkShell { buildInputs = with pkgs; [ pythonEnv ]; } 08:16:27
@k900:0upti.meK900That's not a poetry2nix question 08:16:51
@k900:0upti.meK900That's just a general issue with Nix shells and things that try to install things 08:17:09
@k900:0upti.meK900You basically have to pick a side 08:17:19
@k900:0upti.meK900Either you let Poetry manage everything or you let Nix manage everything 08:17:32
@k900:0upti.meK900You can't mix the two 08:17:36
@cchalc:matrix.orgcchalc
In reply to @k900:0upti.me
That's just a general issue with Nix shells and things that try to install things
okay. Sorry. I was using poetry2nix so I was just in the mindset.
08:18:35
@cchalc:matrix.orgcchalc
In reply to @k900:0upti.me
Either you let Poetry manage everything or you let Nix manage everything
I was trying to follow this video of using poetry and nix - https://www.youtube.com/watch?v=TbIHRHy7_JM
08:19:32
@mou_bugtracker:matrix.orgmou
In reply to @cchalc:matrix.org
I am trying to install packages with poetry but running into permission errors.

~/Projects/nix-poetry(branch:dev*)(nix-shell)$ poetry add flask
Skipping virtualenv creation, as specified in config file.
Using version ^2.0.2 for Flask

Updating dependencies
Resolving dependencies... (0.6s)

Writing lock file

Package operations: 5 installs, 5 updates, 0 removals

• Installing markupsafe (2.0.1): Failed

EnvCommandError

Command ['/nix/store/5w2swv66p5sl140my96vcipzi2vfrcxq-python3-3.8.12-env/bin/python3.8', '-m', 'pip', 'install', '--no-deps', '/Users/christopher.chalcraft/Library/Caches/pypoetry/artifacts/cd/11/54/fd481eec49cddc06876e526483e7ee8675d0910fed2aa7668a9fc88e62/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl'] errored with the following return code 1, and output:
Processing /Users/christopher.chalcraft/Library/Caches/pypoetry/artifacts/cd/11/54/fd481eec49cddc06876e526483e7ee8675d0910fed2aa7668a9fc88e62/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl
Installing collected packages: MarkupSafe
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/nix/store/5w2swv66p5sl140my96vcipzi2vfrcxq-python3-3.8.12-env/lib/python3.8/site-packages/markupsafe'
Check the permissions.


I have a shell.nix that looks like this:

{ pkgs ? import <nixpkgs> {} }:

with import <nixpkgs> {};
let pythonEnv = python38.withPackages (ps: with ps; [
flake8
black
pynvim
ipython
python-language-server.override { pylint = null; }
pip
poetry
]);

in
pkgs.mkShell {
buildInputs = with pkgs; [
pythonEnv
];
}
consider this line
Skipping virtualenv creation, as specified in config file.
08:22:09
@cchalc:matrix.orgcchalc
In reply to @cchalc:matrix.org
I was trying to follow this video of using poetry and nix - https://www.youtube.com/watch?v=TbIHRHy7_JM
He creates a shell.nix to install poetry and use it. But you are right that there is nothing else besides python3 and poetry
08:22:35
@mou_bugtracker:matrix.orgmouIn video poetry uses virtualenv placed inside home directory, not side packages08:22:40
@mou_bugtracker:matrix.orgmou * In video poetry uses virtualenv placed inside home directory, not site-packages08:22:57
@mou_bugtracker:matrix.orgmou try to exec poetry config --listand look for virtualenvs.create. If it false, consider documentation https://python-poetry.org/docs/configuration/ 08:24:36
@mou_bugtracker:matrix.orgmouIf you manage to allow poetry create venv, then all should be according to video08:25:23
@cchalc:matrix.orgcchalc
In reply to @mou_bugtracker:matrix.org
If you manage to allow poetry create venv, then all should be according to video
okay thank you. I will give it a shot.
08:26:00
@mou_bugtracker:matrix.orgmou * If you manage to allow poetry create venv, then all should go according to video08:28:19
@mou_bugtracker:matrix.orgmou Can we use pyproject.toml build tool metadata to detect which one is used for dependency (if such dependency fetched in form of source), and include this tools in build dependencies? 17:11:13
@adis:blad.isadisbladis
In reply to @mou_bugtracker:matrix.org
Can we use pyproject.toml build tool metadata to detect which one is used for dependency (if such dependency fetched in form of source), and include this tools in build dependencies?
That's already being done, but only for local path dependencies
17:12:12

Show newer messages


Back to Room ListRoom Version: 6