PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Thursday the 15th of January, 2015

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[05:47:39] <agend> hi - how can I tell pip (through requirements.txt file) to install newest django from 1.7 branch - its 1.7.3 currently, it could be 1.7.9 later - not 1.8 when its available ???
[05:48:08] <agend> something like: django==1.7.*
[05:58:21] <tdsmith> agend: that or django~=1.7.3 should do it; https://www.python.org/dev/peps/pep-0440/#examples
[05:59:10] <agend> tdsmith: many thanks, couldnt find it
[06:16:19] <agend> tdsmith: is this syntax supposed to work in requirements.txt file - cause it doesnt for me: ValueError: ("Expected ',' or end-of-list in", 'Django==1.7.*', 'at', '*')
[06:23:38] <tdsmith> agend: what version of pip are you using?
[06:24:13] <tdsmith> pep 440 was implemented in pip 6
[06:24:33] <agend> tdsmith: python-pip all 1.1-3 [112 kB]
[06:25:47] <tdsmith> oh!
[06:25:58] <agend> tdsmith: Django>=1.7,<1.8 seems to work - its ugly but works with default pip version on debian,
[06:29:13] <agend> tdsmith: i'm building docker image with django, not worth the trouble to fight with debian pip, thanks for your time
[06:29:26] <tdsmith> yep, sorry for the misdirection
[06:30:01] <agend> np ;)
[15:22:36] <willingc> !logs
[15:22:36] <pmxbot> http://chat-logs.dcpython.org/channel/pypa
[16:23:38] <nedbat> i have a tox.ini that requires Django >=1.7,<1.8, and also installs -r requirements.txt, which requires Django. pip complains about "Double requirement given". But they are not in conflict. Why can't it install a Django version I need?
[16:26:10] <tos9> I think the answer to that always ends up being dstufft saying "because I hate the dep resolver and sometime I'll rewrite it" :)
[16:26:16] <tos9> nedbat: There is no good reason IIRC.
[16:26:29] <tos9> But it's probably the most annoying thing about pip.
[16:26:42] <nedbat> tos9: is there a way to make it work? I guess I can remove the requirements.txt include from tox.ini
[16:27:01] <tos9> nedbat: Move whichever one is the one you want to win into your commands section
[16:27:06] <tos9> rather thand eps
[16:27:15] <tos9> which will do the install in 2 steps
[16:27:27] <dstufft> yea what tos9 said
[16:27:49] <dstufft> the problem is that dependendency resolution is hard, and we don't really do it, we just kinda pretend at it
[16:27:54] <nedbat> tos9: but then that will do the pip install every time i run the tests?
[16:28:31] <tos9> nedbat: it won't do any more than it was already doing, unless you pass -U
[16:28:38] <tos9> tox anyways has to run pip install to check that you've got your deps
[16:28:48] <tos9> it just hides that command behind deps
[16:29:19] <dstufft> that's not entirely true
[16:29:32] <dstufft> tox does some magic to try and guess if it needs to re-run pip
[16:30:03] <dstufft> and it will skip it if it thinks you don't need it
[16:30:11] <dstufft> however it's probably about your only option
[16:30:24] <tos9> oh does it really
[16:30:40] <nedbat> I could copy the requirements into tox.ini.
[16:30:49] <tos9> nedbat: why is running the install every time bad
[16:30:55] <dstufft> unless you want to write a SAT solver in pure python that we can use :D
[16:31:13] <tos9> dstufft: I guess this explains how often tox is wrong about whether the deps are there, and you need to run tox -r
[16:31:37] <nedbat> tos9: it's not I guess, just more noise in the test output
[16:31:46] <tos9> nedbat: --quiet :)
[16:32:06] <nedbat> tos9: I don't even like that tox insists on logging stupid crap like the PYTHONHASHSEED it's using.
[16:32:15] <tos9> Agreed.
[16:32:17] <dstufft> pip install -qqq
[16:32:49] <doismellburning> tos9: https://bitbucket.org/hpk42/tox/issue/149/virtualenv-is-not-recreated-when-deps is the source of so much woe for me
[16:33:09] <xafer> https://github.com/enthought/depsolver could maybe help when that day will come
[16:33:12] <doismellburning> dstufft: I think I have a pure Python SAT solver somewhere...
[16:35:15] <dstufft> xafer: yea, it's on my list of things to poke at more, I'm not a big fan of the API so we'll see
[16:35:40] <dstufft> doismellburning: that'd be nice :D and/or something that cant each me how to SAT solve
[16:36:00] <willingc> what does SAT stand for System Admin ??? or something else
[16:36:47] <doismellburning> dstufft: my undergrad dissertation was on sat solving, will dig out one of the quick guides I used
[16:37:15] <doismellburning> willingc: https://en.wikipedia.org/wiki/Boolean_satisfiability_problem
[16:37:21] <dstufft> willingc: boolean satisifbility s
[16:37:22] <dstufft> er
[16:37:26] <dstufft> doismellburning: beat me
[16:37:38] <willingc> Thank you both :)
[16:38:00] <doismellburning> willingc: tl;dr "I have a big boolean equation, can it be made true and if so how"
[16:38:01] <dstufft> basicially it means given a boolean expression with variables that can be either True or False, find what combination of them evaluates to True
[16:38:15] <dstufft> damn beat again
[16:38:16] <doismellburning> oops, yes, expression
[16:38:16] <dstufft> :D
[16:38:58] <willingc> yeah now that I look at it I know what it is. just didn't know the acronym :)
[16:39:15] <dstufft> it turns out you can apply SAT solvers to a ton of problems
[16:47:00] <tos9> doismellburning: oh, awful, that's probably the more direct cause yeah :/
[16:50:18] <doismellburning> tos9: this interacts poorly with the Jenkins GitHubPRBuilder plugin having a bug preventing auto-wiping workspaces...
[16:52:55] <tos9> :(
[16:53:19] <tos9> doismellburning: (I'm not surprised tangentially heh, the git story for jenkins is quite sad anyhow.)
[16:53:29] <doismellburning> tos9: well indeed
[16:53:32] <doismellburning> alas $reasons
[17:01:44] <doismellburning> slightly OT but not totally - does anyone know/recommend an RST "style checker" of some description?
[17:02:10] <doismellburning> I always write terrible broken RST, because I only ever do it for my long_descriptions; I would like to automatically check this
[17:13:26] <ionelmc> doismellburning: collective.checkdocs
[17:14:19] <tos9> style or syntax? also rst or sphinx flavored rst?
[17:14:39] <tos9> I usually use rst2html to check syntax
[17:15:22] <tos9> oh, which appears to be how that thing works
[17:15:50] <doismellburning> tos9: either/both, rst (long_description which reads from README.rst)
[17:15:56] <doismellburning> ionelmc: will try, thanks
[17:16:18] <ionelmc> doismellburning: also, install pygments too
[17:16:26] <ionelmc> i think checkdocs use that if available
[17:16:30] <ionelmc> not 100% sure
[17:17:12] <doismellburning> hm, despite mangling my rst file, checkdocs seems happy
[17:17:36] <doismellburning> (this may just mean I'm mangling into valid rst)
[17:18:53] <doismellburning> but e.g. I have whitespace at the ends of lines
[17:19:37] <ionelmc> doismellburning: complain here https://bitbucket.org/pypa/pypi/pull-request/60/fix-bb-214-make-rst-rendering-not-fail-for/diff
[17:19:56] <doismellburning> ooh thanks
[17:20:25] <doismellburning> lol I have the opposite issue, I _want_ stricter ;)
[17:20:39] <doismellburning> (but still, very relevant, thanks)
[17:50:49] <wsanchez> Hey dudes, I'm running into two problems in our build system related to pip… One is that pip wants to ~/.pip, which is outside of the sandbox the builder is allowed to write to. I can probably hack around that by setting $HOME or something…
[17:51:22] <wsanchez> But the bigger issue is that I'm using --no-deps and yet pip is still trying to talk to PyPI. Isn't that not supposed to happen?
[17:53:02] <wsanchez> Specifically, I'm using: --pre --allow-all-external --no-index --no-deps
[17:53:21] <wsanchez> …and --log=
[17:54:23] <tomprince> Do you have setup_requires anywhere in any deps?
[17:55:01] <wsanchez> Um, I don't own all of the packages being installed, so that's possible.
[17:55:20] <wsanchez> This is happening while pip is installing… cryptography
[17:55:28] <tomprince> Because setuptools (not pip) unfortunately deals with that, and doesn't respect the options passed to pip.
[17:55:52] <tomprince> I think if you preinstall cffi, setuptools won't try to install it from pypi.
[17:56:15] <tomprince> The plan is to make pip take over installing setup_requires, but that hasn't happened yet.
[17:56:58] <tomprince> Regarding ~/.pip, I think that may be the log and cache dir, the location of both of which can be changed.
[17:57:03] <wsanchez> OK so I just need to install in the correct order.
[17:57:07] <tomprince> (assuming this is pip >=6)
[17:57:23] <wsanchez> Thanks, that's helpful. We just upgraded to >6 today
[17:57:56] <wsanchez> (Though the issue precedes the update; we were hoping updating would fix it.)
[18:04:15] <tomprince> wsanchez: I suspect that dstufft would love some help getting pip to take over setup_requires.
[18:05:28] <wsanchez> I'd be game to work with dstufft on whatever at PyCon.
[18:05:53] <wsanchez> Though at the rate things are moving I may be working on logging. :-)
[19:28:14] <raydeo> is there some reason why pip freeze decides to use the git commit in requirements.txt when in fact the package was installed from the local filesystem?
[19:28:48] <raydeo> for example "pip install -e src/foo", followed by a "pip freeze" shows "-e git+git@...#egg=foo-master"
[19:29:35] <raydeo> this just seems undesirable to me for several reasons... I could understand if I had used pip to clone the repo
[19:31:31] <wsanchez> Is src/foo a git clone?
[19:31:41] <raydeo> it was, prior to running pip, yes
[19:31:55] <wsanchez> Sounds like pip is just recording that helpful info :-)
[19:32:06] <raydeo> yes, but that's not helpful!
[19:32:46] <raydeo> I've now lost control over what my requirements lock contains... it should've had "-e src/foo" or "-e /Users/raydeo/src/foo"
[19:35:58] <raydeo> it's not meshing well with the ability for "pip wheel" to build a full wheelhouse from a requirements file
[19:36:43] <raydeo> since it skips any editable mode items... I'd at least like to be able to "pip freeze | sed -e 's/^-e //g' > local_requirements.txt
[19:36:51] <raydeo> then I'd be able to build the wheelhouse from local checkouts
[19:36:59] <_habnabit> raydeo, you know it's no longer required to use -e to install from git, right?
[19:37:17] <raydeo> _habnabit: yes?
[19:38:09] <raydeo> I'm not sure I follow how that helps... I did the git clone prior to using pip
[19:38:30] <raydeo> I guess I can still strip the -e is your point
[19:38:31] <_habnabit> raydeo, you could omit the -e from your requirements file
[19:39:05] <raydeo> that's fair, so then just https://github.com/pypa/pip/issues/2356 needs to be fixed in theory
[19:41:37] <raydeo> the extra git clone feels unnecessary though, and there's no way for me to fix it without search/replace on requirements.txt
[19:43:40] <wsanchez> Is -e also unnecessary for svn now?
[19:54:13] <_habnabit> wsanchez, pretty sure
[19:56:36] <wsanchez> cool, thanks
[20:08:39] <ronny> raydeo: when you want to freeze, install fixed packages and not editable repos
[20:09:12] <raydeo> ronny: that requires a new clone though :(
[20:09:40] <ronny> raydeo: why does it needa new clone, dont you have a package repo?
[20:10:05] <raydeo> yes, so a new virtualenv then
[20:10:27] <raydeo> installing over the editable one just to freeze does not sound so good
[22:24:13] <ionelmc> oh damn
[22:24:31] <ionelmc> appveyor so slow i got 26 tests queued now :-|