PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Sunday the 15th of March, 2015

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[04:01:14] <agronholm> is there any way to specify a bugtracker url for a project either via setuptools.setup() or setup.cfg?
[04:01:25] <agronholm> because pypi seems to support such a field
[04:41:39] <tdsmith> how do i get a clue about what pkg_resources does in load_entry_point
[04:45:25] <dstufft> agronholm: no, it's a UI thing
[04:45:34] <agronholm> bugger
[04:45:45] <dstufft> tdsmith: not sure what you mean, look at the code?
[04:46:12] <tdsmith> just cracked it open; seemed like the obvious answer, yeah
[04:47:07] <tdsmith> more specific question: when a setuptools entry point shim bails because it wants to find something I don't think it should have to find, what file on disk do I change to tell it to stop looking for the dep I assert it doesn't care about, like: http://bot.brew.sh/job/Homebrew%20Pull%20Requests/22779/version=mavericks/testReport/junit/brew-test-bot/mavericks/test_subliminal/
[04:47:49] <tdsmith> i can't tell if something is abusing pbr or if this is design behavior
[04:48:31] <dstufft> pbr depends on pip, pbr also is used at runtime
[04:48:42] <dstufft> in order to load version info
[04:49:24] <tdsmith> well, all right
[04:49:46] <agronholm> dstufft: you'll be coming to pycon this year?
[04:49:51] <dstufft> I think the answer is /usr/local/Cellar/subliminal/0.7.5/libexec/bin/subliminal
[04:49:54] <dstufft> and __requires__
[04:49:56] <dstufft> FWIW
[04:50:09] <tdsmith> granting that i'm wrong about pbr, where is that dependency encoded? i see in site-packages/stevedore-1.3.0.dist-info/metadata.json a "run_requires" key; is setuptools parsing that?
[04:50:39] <dstufft> agronholm: nope, I couldn't get permission to take my step daughter out of the country in time, and she has a medical condition and I couldn't go withouit her
[04:50:55] <agronholm> sigh...well, can't be helped
[04:51:06] <tdsmith> the only __requires__ in the shim is __requires__ = 'subliminal==0.7.5'
[04:51:09] <dstufft> tdsmith: pbr does some sort of bad things
[04:51:44] <tdsmith> i believe it
[04:51:45] <dstufft> it uses requirements.txt in the source distro to load into install_requires
[04:52:13] <dstufft> oh, and the other dependencies are probably in *.egg-info/requires.txt or *.dist-info/METADATA
[04:53:53] <tdsmith> wonderful, thanks
[07:30:08] <Ivo> tdsmith: stevedore is for loading things dynamically, if someone has decided to use it you probably cant do without it
[07:41:45] <Ivo> tdsmith: why you need pbr and pip in requirements for subliminal?
[12:44:52] <mitsuhiko> dstufft: you do not need transaction isolation changes to solve race conditions
[12:45:00] <mitsuhiko> what are you actually trying to acomplish?
[12:45:39] <dstufft> I do 3 queries, two of them load data from the database, the third one loads an integer that says what version of the database the other two queries were from
[12:45:58] <mitsuhiko> is there any way you can not do that?
[12:46:00] <dstufft> that integer is an incrementing ID from an append only table
[12:46:12] <mitsuhiko> because fundamentally the problem you just cause yourself can only be solved with table locks then
[12:46:26] <mitsuhiko> instead what you probably want is to just select for update
[12:46:37] <mitsuhiko> if you do it in the right order you're fine
[12:46:39] <dstufft> not reasonably at this point in time, eventually yes but it requires changing the entire mirroring protocol
[12:47:21] <mitsuhiko> but really, you're fighting a losing war there if you do not have good control over your transactions
[12:47:34] <mitsuhiko> no transaction isolation changes can help you there
[12:48:04] <dstufft> I have control over the creation of the transaction, I just don't have any view specific information at that point because that happens higher up in the stack
[12:48:34] <mitsuhiko> if you have reads first, and only later you might convert them into writes but they are dependent on the reads there is nothing you can do
[12:48:39] <mitsuhiko> unless any of your reads happens locked
[12:48:57] <mitsuhiko> however if you make another read (with select for update) just before your write and you ignore the earlier reads, then you are fine
[12:49:28] <mitsuhiko> but you need to do the implicit locks in a consistent order
[12:49:42] <mitsuhiko> for instance you use your journal entry table as the lock
[12:49:48] <mitsuhiko> so then you need to select for update that always first
[12:49:52] <mitsuhiko> then for the rest of the transaction you are essentially locked
[12:49:54] <mitsuhiko> until rollback or commit
[12:50:08] <mitsuhiko> you just need to do something that triggers the lock upgrade
[12:50:15] <mitsuhiko> but whatever you do, do not touch the isolation levels
[12:50:22] <mitsuhiko> you would need to rewrite *everything* for that
[12:50:37] <mitsuhiko> since any view then needs to handle isolation exceptions
[12:50:51] <mitsuhiko> dstufft: does that make sense?
[12:50:57] <dstufft> yea
[12:51:01] <dstufft> I'm thinking about it now
[12:52:18] <dstufft> I'm already rewriting everything so that's not really the biggest deal. In current PyPI i set SERIALIZABLE READ ONLY DEFERRABLE on the views where it really matters to "fix" it
[12:53:14] <dstufft> I have to see how best to integrate the locks
[12:53:37] <dstufft> the system I'm using can already automatically retry a view for isolation exceptions if i turn that on
[12:56:48] <dstufft> (That works just be re-execing the entire view, so your views can't do anything that can't be retried unless you hook that retrying bit into the transaction system, which is possible as well - since it uses a generic transaction thing)
[13:07:36] <vlt> Hello. I was trying to install something via pip and these were the last three lines: "/usr/bin/ld: cannot find -lz", "collect2: error: ld returned 1 exit status", "error: command 'x86_64-linux-gnu-gcc' failed with exit status 1"
[13:07:42] <vlt> What does that tell me?
[13:17:05] <apollo13> that zu need zlib
[13:34:23] <vlt> apollo13: Thank you. Can you confirm that it’s "zlib" and not "libz" as someone in #python told me?
[13:34:57] <apollo13> well it is libz (the filename) but the library is called zlib
[13:35:28] <vlt> apollo13: :-) Thank you. I’ll try to find that package on Ubuntu.
[13:35:43] <apollo13> zlib1g
[13:38:00] <vlt> apollo13: Which is installed. But zlib1g-dev seems to be needed.
[13:38:31] <apollo13> yeah, for compilation you usually need that too, for linking a lone the normal one should suffice I guess
[13:40:12] <apollo13> vlt: ah, the diff is probably that -dev install a symlink to the exact version ls -lisa /usr/lib/x86_64-linux-gnu/libz.so
[13:40:22] <apollo13> so ld can find it easily
[18:31:49] <sn> I am a new mac user
[18:31:57] <sn> I have a question
[18:32:11] <sn> should I use SUDO with pip
[18:32:15] <sn> ???
[18:33:23] <doismellburning> sn: I'd generally say no, and make sure to use virtualenv
[18:34:28] <tdsmith> you have a few options! you could use sudo with pip, you could give yourself permissions on /Library/Python, you could install packages with --user to put them underneath your home directory, or you could install a non-system python from homebrew or similar and use that pip without sudo
[18:34:48] <tdsmith> or virtualenvs
[18:35:26] <sn> I installed virtualenvs via pip without sudo
[18:35:39] <sn> but after restarting my mac
[18:36:19] <sn> I found that virtualenvs was missing when I tried pip list
[18:36:36] <tdsmith> how did you install pip?
[18:36:52] <sn> i installed python via brew
[18:37:13] <sn> i installed 2.7.9
[18:37:34] <tdsmith> okay; don't use sudo with the pip homebrew installs, anyway
[18:38:23] <tdsmith> i don't know why virtualenv wouldn't show up in pip list though; you aren't inside a virtualenv when you run pip list are you?
[18:38:34] <sn> nope
[18:39:08] <sn> so to verify
[18:39:19] <sn> I do not have to use sudo?
[18:39:28] <sn> I know its a big thing in Linux
[18:40:20] <tdsmith> no, the homebrew python distribution is set up so that you don't need to use sudo with pip; using sudo may cause permissions problems
[18:40:47] <sn> ok
[18:41:20] <sn> thanks alot tdsmith
[18:41:45] <tdsmith> you're welcome; good luck
[18:41:50] <sn> I would like to ask another question related to homebrew if you do not mind
[18:41:57] <sn> what is cask???
[18:42:03] <sn> homebrew-cask
[18:45:15] <tdsmith> homebrew cask is a project that lets you install apps from the .dmgs or .pkg bundles that the developers provide
[18:47:01] <sn> so u mean I can install chrome via cask only???
[18:49:39] <tdsmith> yep; homebrew works best for stuff that runs from the command line and libraries for application development. homebrew avoids packaging stuff like chrome. chrome also isn't open-source, so homebrew couldn't build google chrome anyway, so we won't package it. chromium is, but we don't like .apps anyway. if you have other questions about homebrew or cask you can find the projects in #machomebrew and #homebrew-cask
[19:16:24] <sn> thank you tdsmith
[19:16:59] <tdsmith> welcome!
[19:33:38] <vlt> apollo13: Sometimes I’m such an idiot. I just forked the whole project (I wanted to pip install earlier) on github and checked it out to be the good guy who contributes and adds zlib1g-dev to the list of required packages ... just to realise that it’s already there. :-D