whatthewhat 1.0
whatthewhat 1.0 [1]whatthewhat is a tool for launching a Google search for exceptions from Python apps. It was inspired by some comments [2]Lynn Root made about teaching new developers that it is OK to search for error messages as part of learning about Python and programming in general. References 1. https://pypi.python.org/pypi/whatthewhat 2. https://twitter.com/roguelynn -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Re: Explanation of list reference
On Sun, 16 Feb 2014 22:28:23 -0500, Roy Smith wrote: So when does code become data? When it's represented by an object. OK, now take somebody who knows lisp and try to explain to him or her why Python's eval() doesn't mean data is code. Yeah, I know that's pushing things a bit, but I'm trying to point out that people come into things with pre-conceived notions that are hard to shake (the psychology of learning people would call this the Law of Primacy). There are ways to treat code as values: - you can use a string (an object/value) representing source code; - you can create a code object using compile(), passing it a string; - you can eval or exec on a string or a code object; - you can extract bits and pieces of function objects; and possibly others. But, and I think this is critical, you can't evaluate source code directly in Python. You can only do so indirectly, after creating some sort of object: a string, a code object, a function, etc. There is always an intermediate step: first, create a string object, then treat it as code. There's no functionality in Python for taking source code directly *as source code* and treating it as a value: function(import this) doesn't work, because `import this` is not a value that can be passed to the function. You have to make it a string first: function(import this) The Python compiler can check the syntax of actual source code at compile time, but it can't do anything about mock source code until runtime when you pass it to exec, eval or compile. That's because until that moment, it's just a string of characters, not source code. -- Steven -- https://mail.python.org/mailman/listinfo/python-list
Does CPython already has Peephole optimizations?
Hello All, I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Are all the temporary variables removed when byte code is generated? Regards, Laxmikant -- https://mail.python.org/mailman/listinfo/python-list
Re: Does CPython already has Peephole optimizations?
Laxmikant Chitare wrote: Hello All, I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Are all the temporary variables removed when byte code is generated? You can find out for yourself: Python 3.4.0rc1+ (default:2ba583191550+, Feb 12 2014, 00:08:44) [GCC 4.6.1] on linux Type help, copyright, credits or license for more information. import dis def f(): ... a, b, c = 1, 2, 3 ... dis.dis(f) 2 0 LOAD_CONST 4 ((1, 2, 3)) 3 UNPACK_SEQUENCE 3 6 STORE_FAST 0 (a) 9 STORE_FAST 1 (b) 12 STORE_FAST 2 (c) 15 LOAD_CONST 0 (None) 18 RETURN_VALUE def g(): ... q = 2 + 3j ... dis.dis(g) 2 0 LOAD_CONST 3 ((2+3j)) 3 STORE_FAST 0 (q) 6 LOAD_CONST 0 (None) 9 RETURN_VALUE If you can read C there is also http://hg.python.org/cpython/file/180e4b678003/Python/peephole.c -- https://mail.python.org/mailman/listinfo/python-list
Re: Does CPython already has Peephole optimizations?
On Mon, 17 Feb 2014 13:54:25 +0530, Laxmikant Chitare wrote: I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/ montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Are all the temporary variables removed when byte code is generated? You can check these things for yourself: import dis dis.dis(function) will show you the byte code. But in general, I would expect not. CPython (that's the Python you probably use) doesn't do a lot of optimization apart from some simple constant folding. If you're interested in optimizing Python, you should look at the JIT optimizing Python compiler, PyPy. -- Steven -- https://mail.python.org/mailman/listinfo/python-list
Re: Python version problem for rpm
On 17/02/2014 06:00, anju tiwari wrote: Hi all, I have two version of python 2.4 and 2.7. By default python version is 2.4 . I want to install need to install some rpm which needs python 2.7 interpreter. how can I enable 2.7 interpreter for only those packages which are requiring python 2.7, I don’t want to change my default python version(2.4). -- ANJU TIWARI... Please refer to the answer Dave Angel gave you to the same question you posed three days ago. -- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- https://mail.python.org/mailman/listinfo/python-list
Re: How to use logging
On 17/02/2014 07:37, kumar wrote: Hi folks, i'm new to python i understood the logging mechanism but unable to understand how these are applied in real time examples can any body help me out Start here http://docs.python.org/3/howto/logging.html, if that's not good enough please come back with a more detailed question, I'm certain that someone will be able to help you. Slight aside you appear to be using google groups. If that is the case would you read and action this https://wiki.python.org/moin/GoogleGroupsPython to prevent the problems that gg causes. if not sorry about the noise :) -- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- https://mail.python.org/mailman/listinfo/python-list
[OT]Internet Trolls Really Are Horrible People
http://www.slate.com/articles/health_and_science/climate_desk/2014/02/internet_troll_personality_study_machiavellianism_narcissism_psychopathy.html Dedicated to all trolls everywhere. -- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- https://mail.python.org/mailman/listinfo/python-list
Re: Does CPython already has Peephole optimizations?
On 2/17/14 3:59 AM, Steven D'Aprano wrote: On Mon, 17 Feb 2014 13:54:25 +0530, Laxmikant Chitare wrote: I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/ montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Are all the temporary variables removed when byte code is generated? You can check these things for yourself: import dis dis.dis(function) will show you the byte code. But in general, I would expect not. CPython (that's the Python you probably use) doesn't do a lot of optimization apart from some simple constant folding. If you're interested in optimizing Python, you should look at the JIT optimizing Python compiler, PyPy. CPython does some constant folding, and also jump optimizations. In my role as coverage.py maintainer, I would love to see a way to disable all those optimizations. I tried filing a bug about it (http://bugs.python.org/issue2506), but it did not win the popular support I had hoped for. -- Ned Batchelder, http://nedbatchelder.com -- https://mail.python.org/mailman/listinfo/python-list
Import order question
I have a class hierarchy like this: Widget - VisualWidget - BsWidget and then BsWidget has many descendants: Desktop, Row, Column, Navbar etc. Widgets can have children. They are stored in a tree. In order to manage the order of widgets, I need methods to append children. (And later: insert or prepend because they also have an order). So I would like to have methods like this: BsWidget.AppendNavbar() BsWidget.AppendRow(...) Here is the problem: these methods should create instances of Row, Column and Navbar. But this leads to circular imports. Here is code for BsWidget: from shopzeus.yaaf.ui.visualwidget import VisualWidget from shopzeus.yaaf.ui.bootstrap.row import Row from shopzeus.yaaf.ui.bootstrap.column import Column from shopzeus.yaaf.ui.bootstrap.navbar import Navbar class BsWidget(VisualWidget): Visual widget for bootstrap. Adds extra methods for adding/removing content like rows columnsetc. def __init__(self,parent): more code here def AppendRow(self): return Row(self) def AppendColumn(self): return Row(self) def PrependRow(self): return Row(self,position=-1) more code here Here is code for ClassX (where ClassX can be: Row, Column, Desktop, Navbar etc.): from shopzeus.yaaf.ui.bootstrap.bswidget import BsWidget more imports here class ClassX(BsWidget): more code here The circular import is as follows: * I want to create a Desktop instance * I try to import shopzeus.yaaf.ui.bootstrap.desktop * That tries to import BsWidget * That tries to import Row * That tries to import BsWidget, which is importing - I get an ImportError: cannot import name BsWidger Of course, instead of AppendRow() method I could just use this pattern: from shopzeus.yaaf.ui.bootstrap.desktop import Desktop from shopzeus.yaaf.ui.bootstrap.row import Row desktop = Desktop(None) row = Row(desktop) However, I really want to avoid this, because there will be at least 100 different widget classes. For a usual UI, I would have to use many of them and then I would have to start any UI builder code like this: from shopzeus.yaaf.ui.bootstrap.class1 import Class1 from shopzeus.yaaf.ui.bootstrap.class2 import Class2 ... from shopzeus.yaaf.ui.bootstrap.class100 import Class100 Most of the UI building code should look like this instead: with self.desktop.AddRow() as row: with row.AddColumn() as col1: with row.AddColumn() as col2: The child can only be created with its parent anyway, and UI building code will have to focus of the strucutre of the UI. So to me, it seems logical to create children using methods of the parent. But how do I avoid circular imports and achieve my goal at the same time? Here are my expectations: * I want to put different widget classes into their corresponding different source files * I want to have a base class (BsWidget) with methods that can prepend/append/insert all kinds of other subclasses * I do NOT want to import all classes of all used widgets in UI building code, just use the above methods This might be a bad idea, but then please tell me why it is bad, and what would be the right code pattern for this task. Thanks, Laszlo -- https://mail.python.org/mailman/listinfo/python-list
Re: select(sock) indicates not-ready, but sock.recv does not block
In article mailman.7083.1392618926.18130.python-l...@python.org, Nikolaus Rath nikol...@rath.org wrote: Hello, I have a problem with using select. I can reliably reproduce a situation where select.select((sock.fileno(),), (), (), 0) returns ((),(),()) (i.e., no data ready for reading), but an immediately following sock.recv() returns data without blocking. I am pretty sure that this is not a race condition. The behavor is 100% reproducible, the program is single threaded, and even waiting for 10 seconds before the select() call does not change the result. I'm running Python 3.3.3 under Linux 3.12. Has anyone an idea what might be going wrong here? Thanks, -Nikolaus Can you post the code which demonstrates this? Also, with any kind of networking problem, tcpdump is your fried. When you run your code, use tcpdump to watch all the network traffic on whatever port your socket is bound to. That might give you some clues what's going on. Likewise, I would also strace the process and watch all the network system calls. The problem you're describing might be unexpected behavior in Python, or it might be in the kernel. Watching the actual system calls that are generated will narrow it down to which. -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
Nagy László Zsolt gand...@shopzeus.com writes: I have a class hierarchy like this: Widget - VisualWidget - BsWidget and then BsWidget has many descendants: Desktop, Row, Column, Navbar etc. None of this implies anything about which modules you place these in; Python is not Java, and you should be putting your class definitions wherever makes the most sense for reading and access. Here is the problem: these methods should create instances of Row, Column and Navbar. But this leads to circular imports. It should not; Python is not Java. Use modules to group your class definitions conceptually. There is no need whatever to separate every class into a different module. * I want to put different widget classes into their corresponding different source files Please, don't. This might be a bad idea, but then please tell me why it is bad, and what would be the right code pattern for this task. Not only does it lead to the problem you've described, it makes the code needlessly difficult to read. Pyth is not Java URL:http://dirtsimple.org/2004/12/python-is-not-java.html. -- \ “I do not believe in forgiveness as it is preached by the | `\church. We do not need the forgiveness of God, but of each | _o__)other and of ourselves.” —Robert G. Ingersoll | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
Nagy László Zsolt wrote: I have a class hierarchy like this: Widget - VisualWidget - BsWidget and then BsWidget has many descendants: Desktop, Row, Column, Navbar etc. Widgets can have children. They are stored in a tree. In order to manage the order of widgets, I need methods to append children. (And later: insert or prepend because they also have an order). So I would like to have methods like this: BsWidget.AppendNavbar() BsWidget.AppendRow(...) Here is the problem: these methods should create instances of Row, Column and Navbar. But this leads to circular imports. Here is code for BsWidget: from shopzeus.yaaf.ui.visualwidget import VisualWidget from shopzeus.yaaf.ui.bootstrap.row import Row from shopzeus.yaaf.ui.bootstrap.column import Column from shopzeus.yaaf.ui.bootstrap.navbar import Navbar class BsWidget(VisualWidget): Visual widget for bootstrap. Adds extra methods for adding/removing content like rows columnsetc. def __init__(self,parent): more code here def AppendRow(self): return Row(self) def AppendColumn(self): return Row(self) def PrependRow(self): return Row(self,position=-1) more code here Here is code for ClassX (where ClassX can be: Row, Column, Desktop, Navbar etc.): from shopzeus.yaaf.ui.bootstrap.bswidget import BsWidget more imports here class ClassX(BsWidget): more code here The circular import is as follows: * I want to create a Desktop instance * I try to import shopzeus.yaaf.ui.bootstrap.desktop * That tries to import BsWidget * That tries to import Row * That tries to import BsWidget, which is importing - I get an ImportError: cannot import name BsWidger Hm, is that cut-and-paste? If so fix the name. If that doesn't work use qualified names: from shopzeus.yaaf.ui.bootstrap import row [...] def AppendRow(self): return row.Row(self) If that still doesn't work follow Ben's advice and be enlightened... -- https://mail.python.org/mailman/listinfo/python-list
Re: Explanation of list reference
On Monday, February 17, 2014 12:01:18 PM UTC+5:30, Steven D'Aprano wrote: I take it that you haven't spent much time around beginners? Perhaps you should spend some time on the tutor mailing list. If you do, you will see very few abstract or philosophical questions such as whether references are themselves things or what identity means. But you will find plenty of questions about: - Will you do my homework for me? Right And what that 'homework' consists of is determined by the educational context of the questioner. 'Teacher' is of course a big but hardly exclusive part of that 'Syllabus-setters' (who can be more clueless than teachers) are another 'Other attendant factors' big one being programming language. Hang out on a Haskell list and you will get questions about - category theory - typesystems - structural induction and so on and so forth Does that mean Haskell is better than Python? That depends on which side of the balance-sheet is plus for you. For some getting the job done with a minimum of heavy-duty concepts is a plus For some lots of profound concepts is wonderful Basic to python philosophy is to get people off to a running start quickly. If NOT starting until you/your ward have mulled on some profundity is your thing then python is not for you -- https://mail.python.org/mailman/listinfo/python-list
Re: Does CPython already has Peephole optimizations?
On 2/17/2014 3:59 AM, Steven D'Aprano wrote: On Mon, 17 Feb 2014 13:54:25 +0530, Laxmikant Chitare wrote: I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/ montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Most of the easily seen and obviously safe low-hanging fruits for the compile step have been plucked. Note that the effect of the peephole process would only save a few percent, if any, for real apps*. Improving the C code invoked by bytecode has resulted in much larger gains. * We now have a much better benchmark suite with some real apps. This is thanks in part to the pypy project. Are all the temporary variables removed when byte code is generated? You can check these things for yourself: import dis dis.dis(function) will show you the byte code. But in general, I would expect not. CPython (that's the Python you probably use) doesn't do a lot of optimization apart from some simple constant folding. If you're interested in optimizing Python, you should look at the JIT optimizing Python compiler, PyPy. For CPython, new optimization has mostly moved to AST tranformations prior to compilation. (Python ASTs are new since Skip started the peephole work.) I believe there are some open issues on the tracker. Once optimization constraint Skip did not mention is the correspondence between source lines and blocks of bytecode, which is used by profiling, tracing, and tracebacks. Effectively transforming if type(a) == types.ComplexType: x = cmath.sin(a) foo(x) else: x = math.sin(a) foo(x) into if type(a) == types.ComplexType: x = cmath.sin(a) else: x = math.sin(a) foo(x) breaks the correspondence. If foo(x) raises, which original line should be reported as the source of the exception? -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
On 2/17/2014 8:01 AM, Nagy László Zsolt wrote: I have a class hierarchy like this: Widget - VisualWidget - BsWidget and then BsWidget has many descendants: Desktop, Row, Column, Navbar etc. Widgets can have children. They are stored in a tree. In order to manage the order of widgets, I need methods to append children. (And later: insert or prepend because they also have an order). So I would like to have methods like this: BsWidget.AppendNavbar() BsWidget.AppendRow(...) I would write one prepend/insert/append method that prepends/inserts/appends the widget passed. Here is the problem: these methods should create instances of Row, Column and Navbar. I disagree, without strong justification. Create the instances by directly calling the classes and do with them as you want. -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Why is the interpreter is returning a 'reference'?
k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k] k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? This isn't a big deal, but I am just curious as to why it does this. -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
On Feb 17, 2014 12:05 PM, Nir nircher...@gmail.com wrote: k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k S.upper() k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? This isn't a big deal, but I am just curious as to why it does this. -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
On 2/17/14 12:00 PM, Nir wrote: k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k] k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? This isn't a big deal, but I am just curious as to why it does this. You have to invoke s.upper, with parens: k = [s.upper() for s in k] In Python, a function or method is a first-class object, so s.upper is a reference to the method, s.upper() is the result of calling the method. -- Ned Batchelder, http://nedbatchelder.com -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
On 02/17/2014 09:00 AM, Nir wrote: k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k] s.upper is a reference to the method upper of s -- to execute the method add parens -- s.upper() Emile k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? This isn't a big deal, but I am just curious as to why it does this. -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
Nir nircher...@gmail.com: k= [s.upper for s in k] k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? Try: k = [ s.upper() for s in k ] Marko -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
On Mon, Feb 17, 2014 at 11:00 AM, Nir nircher...@gmail.com wrote: k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k] k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? It's just doing exactly what you are telling it to :). Your list comprehension is constructing a list consisting of the 'upper' method (which are themselves objects, able to be passed around just like any other value) for each string object in list 'k'. Consider this: k = ['hi', 'boss'] s = k[0] s 'hi' s.upper # this just accesses the 'upper' attribute of 's', which turns out to be its 'upper' method built-in method upper of str object at 0xdeadbeef s.upper() # this actually calls the 'upper' method on 's' 'HI' Change your comprehension to actually call the upper method like so: k = [s.upper() for s in k]. It will do what you expected with that change. Hope this helps, -- Zach -- https://mail.python.org/mailman/listinfo/python-list
Getting a stable virtual env
Hi ppl, I'm trying to figure out the whole virtualenv story. Right now I'm using it to creating an environment for our upcoming debian upgrade to squeeze. I'm doing some tests in our current distrib (python 2.5). I have come to realize that a lot of packages in the version I'm interested in are not available anymore on pypi. The pip installer fails a lot. Squeeze features python 2.7 so I'm pretty sure that everything will work fine. I've actually tested it. The question is, how do I protect myself from future package removal ? Do I absolutely need to run a local pypi server (I've seen some python package doing this), and mirror all the packages I'm interested in ? cheers, JM -- https://mail.python.org/mailman/listinfo/python-list
Re: Getting a stable virtual env
This one should be in plain text, sorry guys I'm trying to get used to this new mail address and client. Hi ppl, I'm trying to figure out the whole virtualenv story. Right now I'm using it to creating an environment for our upcoming debian upgrade to squeeze. I'm doing some tests in our current distrib (python 2.5). I have come to realize that a lot of packages in the version I'm interested in are not available anymore on pypi. The pip installer fails a lot. Squeeze features python 2.7 so I'm pretty sure that everything will work fine. I've actually tested it. The question is, how do I protect myself from future package removal ? Do I absolutely need to run a local pypi server (I've seen some python package doing this), and mirror all the packages I'm interested in ? cheers, JM 2014-02-17 14:21 GMT+01:00 P J bobi...@gmail.com: Hi ppl, I'm trying to figure out the whole virtualenv story. Right now I'm using it to creating an environment for our upcoming debian upgrade to squeeze. I'm doing some tests in our current distrib (python 2.5). I have come to realize that a lot of packages in the version I'm interested in are not available anymore on pypi. The pip installer fails a lot. Squeeze features python 2.7 so I'm pretty sure that everything will work fine. I've actually tested it. The question is, how do I protect myself from future package removal ? Do I absolutely need to run a local pypi server (I've seen some python package doing this), and mirror all the packages I'm interested in ? cheers, JM -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
Here is the problem: these methods should create instances of Row, Column and Navbar. But this leads to circular imports. It should not; Python is not Java. Use modules to group your class definitions conceptually. There is no need whatever to separate every class into a different module. If there is a consensus, and it is really desireable to put all these related classes into the same module, then this is what I'm going to do. This might be a bad idea, but then please tell me why it is bad, and what would be the right code pattern for this task. Not only does it lead to the problem you've described, it makes the code needlessly difficult to read. Pyth is not Java URL:http://dirtsimple.org/2004/12/python-is-not-java.html. This is funny, because I was working for wxPython for years and this article is making an example with wxPython. It is one of the best toolkits around. Some years ago I wondered why did they not follow PEP8 and used lower case method names. Then I found out that these are C++ wrapper classes, many of them automatically generated from C++ code. So that is why. But by that time I was using captialized method names for UI widgets everywhere, and I guess this is my bad habit now. Probably when it comes to UI widgets I do not think the Pythonic way for the same reason. I never know when to put classes in different modules. I usually draw an UML diagram and group classes into packages. Wich makes sense because there can be sub-groups with subpackages. But I'm always confused with modules, I don't know why. Thanks for the help. -- https://mail.python.org/mailman/listinfo/python-list
Re: Explanation of list reference
On 17/02/2014 06:21, Steven D'Aprano wrote: On Mon, 17 Feb 2014 11:54:45 +1300, Gregory Ewing wrote: [...] [1] Mathematicians tried this. Everything is a set! Yeah, right... No, that's okay. You only get into trouble when you have self-referential sets, like the set of all sets that don't contain themselves. Actually there's nothing wrong with self-referential sets per se. For example set theory with Aczel's anti-foundation axiom instead of the axiom of foundation is consistent if ZF is; see e.g. http://en.wikipedia.org/wiki/Non-well-founded_set_theory The trouble comes not with self-reference, but with unrestricted comprehension. -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
Terry Reedy tjre...@udel.edu Wrote in message: On 2/17/2014 8:01 AM, Nagy László Zsolt wrote: I have a class hierarchy like this: Widget - VisualWidget - BsWidget and then BsWidget has many descendants: Desktop, Row, Column, Navbar etc. Widgets can have children. They are stored in a tree. In order to manage the order of widgets, I need methods to append children. (And later: insert or prepend because they also have an order). So I would like to have methods like this: BsWidget.AppendNavbar() BsWidget.AppendRow(...) I would write one prepend/insert/append method that prepends/inserts/appends the widget passed. Here is the problem: these methods should create instances of Row, Column and Navbar. I disagree, without strong justification. Create the instances by directly calling the classes and do with them as you want. I agree with Terry, and will try to justify it. Whenever you have a large group of modules recursively importing each other, you need to look hard at the reason. (And saying ' because java does it that way' isn't a good enough one). Chances are things are too coupled. Your reason is because you have a base class instantiating child classes, for most if not all its children. Problem with that is you then need to modify that base class in about 4 places each time you add a child class. Very messy. So how do you avoid modifying the base class? Have an instance passed in, instead, as Terry implied. Now you say you don't want the application code to have to import all of those child classes? There are several solutions to that, depending. You can make a module which imports each of those, and stores a reference to each class. That becomes the only place to modify as new ones are added. Or you can have each of these extra modules add its factory function to a common list or dict, either at import time or in a once-called function. That common list could be defined (with only the base class in it initially) in the module with the base class. You could even add these methods you're trying to define to the base class, by defining them as ordinary functions in the corresponding module, and adding the appropriate attribute to the base. Or you could have each new class add itself as a top level module attribute to the module you plan for your users to import. Many more choices with various tradeoffs, and the best depends on a number of factors not yet discussed. For example, do all these classes take the same arguments to __init__? If so, then a single factory that takes the class reference as a parameter might be useful. -- DaveA -- https://mail.python.org/mailman/listinfo/python-list
Re: Problem importing libraries installed with PIP in Eclipse
On Sun, Feb 16, 2014 at 11:52 AM, Renato rvernu...@gmail.com wrote: It's solved now, oh my god I was so stupid! I created a package named pybrain for testing PyBrain module, so obviously when I tryed to import something from PyBrain library, Python would import all modules from this personal package I created. The problem was not being reproduced outside Eclipse because only within Eclipse my personal workstation directory (which contained the personal package pybrain) was visible. The solution was simple: I just deleted the personal package named pybrain and now everything is working. Thank you very much for your help! Hi Renato, Nice that you got it working... Now, just as a heads up, that version of PyDev is quite old (the latest PyDev release: 3.3.3 is in many ways improved when comparing to older PyDev versions). I know Aptana Studio still has the older version, so, if you use mostly Python and you don't need the other features that Aptana Studio adds, it might be worth going to pure Eclipse + PyDev (or using LiClipse which also adds support for other languages -- besides being better configured out of the box, although it's a commercial counterpart of PyDev -- whose funds help to keep PyDev development going forward). Cheers, Fabio -- https://mail.python.org/mailman/listinfo/python-list
Re: How to use logging
In 5a53c1ca-1104-40f2-9401-a6d3b3673...@googlegroups.com kumar arun.achu...@gmail.com writes: Hi folks, i'm new to python i understood the logging mechanism but unable to understand how these are applied in real time examples can any body help me out Here are some very simple examples: import logging logging.info('This message will be logged at the INFO level.') logging.error('This message will be logged at the ERROR level.') logging.debug('This message will be logged at the DEBUG level.') Did you need help with some specific aspect of logging, like sending the output to a file instead of the default destination? -- John Gordon Imagine what it must be like for a real medical doctor to gor...@panix.comwatch 'House', or a real serial killer to watch 'Dexter'. -- https://mail.python.org/mailman/listinfo/python-list
Re: Why is the interpreter is returning a 'reference'?
In 9b80c233-ad31-44c8-8a6e-9002ab11b...@googlegroups.com Nir nircher...@gmail.com writes: k = ['hi','boss'] k ['hi', 'boss'] k= [s.upper for s in k] k [built-in method upper of str object at 0x021B2AF8, built-in method upper of str object at 0x02283F58] Why doesn't the python interpreter just return ['HI, 'BOSS'] ? This isn't a big deal, but I am just curious as to why it does this. Because you typed 'str.upper' instead of 'str.upper()'. -- John Gordon Imagine what it must be like for a real medical doctor to gor...@panix.comwatch 'House', or a real serial killer to watch 'Dexter'. -- https://mail.python.org/mailman/listinfo/python-list
Re: Problem importing libraries installed with PIP in Eclipse
Hi Fabio, I wish I could use the latest PyDev, unfortunately I need Aptana studio. It's a pity they won't let us install individual packages from their bundle. If they did, I could install only the other packages and install PyDev separately. Thanks for your help once again. Yours, Renato 2014-02-17 16:07 GMT-03:00 Fabio Zadrozny fabi...@gmail.com: On Sun, Feb 16, 2014 at 11:52 AM, Renato rvernu...@gmail.com wrote: It's solved now, oh my god I was so stupid! I created a package named pybrain for testing PyBrain module, so obviously when I tryed to import something from PyBrain library, Python would import all modules from this personal package I created. The problem was not being reproduced outside Eclipse because only within Eclipse my personal workstation directory (which contained the personal package pybrain) was visible. The solution was simple: I just deleted the personal package named pybrain and now everything is working. Thank you very much for your help! Hi Renato, Nice that you got it working... Now, just as a heads up, that version of PyDev is quite old (the latest PyDev release: 3.3.3 is in many ways improved when comparing to older PyDev versions). I know Aptana Studio still has the older version, so, if you use mostly Python and you don't need the other features that Aptana Studio adds, it might be worth going to pure Eclipse + PyDev (or using LiClipse which also adds support for other languages -- besides being better configured out of the box, although it's a commercial counterpart of PyDev -- whose funds help to keep PyDev development going forward). Cheers, Fabio -- https://mail.python.org/mailman/listinfo/python-list
Re: Import order question
Nagy László Zsolt gand...@shopzeus.com writes: Use modules to group your class definitions conceptually. There is no need whatever to separate every class into a different module. If there is a consensus, and it is really desireable to put all these related classes into the same module, then this is what I'm going to do. You should use multiple modules to separate the code where it makes sense, along *conceptual* lines. Make separate modules that each represent a conceptually-separate area of functionality in your application, and put the classes which implement that functionality in that module. I never know when to put classes in different modules. I usually draw an UML diagram and group classes into packages. Wich makes sense because there can be sub-groups with subpackages. But I'm always confused with modules, I don't know why. You can start by making one module for each of those groupings. (The term “package” already has a specific technical meaning in Python, and I'm not sure whether that's what you meant here.) Thanks for the help. Welcome to Python! -- \ “If sharing a thing in no way diminishes it, it is not rightly | `\ owned if it is not shared.” —Augustine of Hippo | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list
NEW INFORMATION ON HUMAN DEVONIAN ORIGINS
http://thrinaxodon.wordpress.com/faq/ -- Thrinaxodon, the ultimate defender of USENET. -- https://mail.python.org/mailman/listinfo/python-list
Re: Google Cloud Platform and GlassSolver Project
Does ANYONE have a clue how to do this? I understand that it is hard but geez... -- https://mail.python.org/mailman/listinfo/python-list
Re: NEW INFORMATION ON HUMAN DEVONIAN ORIGINS
On Monday, February 17, 2014 7:44:20 PM UTC-5, MAOIST wrote: http://thrinaxodon.wordpress.com/faq/ -- Thrinaxodon, the ultimate defender of USENET. What The HELL? -- https://mail.python.org/mailman/listinfo/python-list
Re: NEW INFORMATION ON HUMAN DEVONIAN ORIGINS
On Tue, Feb 18, 2014 at 11:58 AM, Physics eliasbylar...@gmail.com wrote: On Monday, February 17, 2014 7:44:20 PM UTC-5, MAOIST wrote: [ link deleted ] -- Thrinaxodon, the ultimate defender of USENET. What The HELL? These are just spam. Ignore them. And if you must respond, please remove the link :) ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: select(sock) indicates not-ready, but sock.recv does not block
Nikolaus Rath nikol...@rath.org writes: Hello, I have a problem with using select. I can reliably reproduce a situation where select.select((sock.fileno(),), (), (), 0) returns ((),(),()) (i.e., no data ready for reading), but an immediately following sock.recv() returns data without blocking. [...] Turns out that I fell into the well-known (except to me) ssl-socket trap: http://docs.python.org/3/library/ssl.html#notes-on-non-blocking-sockets TL;DR: Relying on select() on an SSL socket is not a good idea because some internal buffering is done. Better put the socket in non-blocking mode and try to read something, catching the ssl.Want* exception if nothing is ready. Best, -Nikolaus -- Encrypted emails preferred. PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C »Time flies like an arrow, fruit flies like a Banana.« -- https://mail.python.org/mailman/listinfo/python-list
Re: Google Cloud Platform and GlassSolver Project
On Mon, 17 Feb 2014 16:57:34 -0800, Physics wrote: Does ANYONE have a clue how to do this? I understand that it is hard but geez... Absolutely no clue what your question is. You seem to assume that: - we know what God's algorithm is; - we know what God's Number is; - we understand what you mean by 3x3s, 2x2s, 4x4s and 5x5s (five what by five what?). and then to add insult to injury, you're asking us to write your program for you! Quote: I am asking for a Python (2.7 please!) script for each cube. So, we don't fully understand the problem you are trying to solve, we don't understand the terminology you are using, and we're not really inclined to do all the work doing the hard part -- the part you apparently don't know how to solve -- just so that you can mention our name somewhere in a Read Me file and then claim the program as your own work. Especially since the problem you are trying to solve appears to be impossible, according to the link you posted earlier: http://www.speedsolving.com/forum/showthread.php?46268-Introducing-GlassSolver-back-and-better-than-ever!p=951473 tl;dr: you've announced a project that never existed as back and better than ever, and asked others to write the code for you. -- Steven -- https://mail.python.org/mailman/listinfo/python-list
Re: Google Cloud Platform and GlassSolver Project
On Tue, Feb 18, 2014 at 1:52 PM, Steven D'Aprano st...@pearwood.info wrote: On Mon, 17 Feb 2014 16:57:34 -0800, Physics wrote: Does ANYONE have a clue how to do this? I understand that it is hard but geez... Absolutely no clue what your question is. You seem to assume that: - we know what God's algorithm is; - we know what God's Number is; - we understand what you mean by 3x3s, 2x2s, 4x4s and 5x5s (five what by five what?). They'll be Rubik's Cubes, as Dave said earlier in the thread. God's Number is the theoretical fewest-moves-to-solve, called that because you would need to be the omniscient Deity to know which moves to actually do. But I agree that it should have been said. Not everyone knows what your research is :) ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re spam
On 2/17/2014 7:58 PM, Physics wrote: A response to a spammer who changed email to avoid filters. If you want to do anything, forward the message with headers to Original-X-Complaints-To: ab...@aioe.org asking them to try harder to block the person. -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: Does CPython already has Peephole optimizations?
Thank you all for the enlightening inputs. I have learnt a lot just with this one question. Great to know about dis library. Ned, from explanation I now realize how important it is to do impact analysis. Things are not always rosy :). I have always appreciated everyone over this list. This is just another opportunity. Best regards, Laxmikant On Mon, Feb 17, 2014 at 7:21 PM, Terry Reedy tjre...@udel.edu wrote: On 2/17/2014 3:59 AM, Steven D'Aprano wrote: On Mon, 17 Feb 2014 13:54:25 +0530, Laxmikant Chitare wrote: I read about this article: http://www.python.org/workshops/1998-11/proceedings/papers/montanaro/ montanaro.html Just wanted to clarify whether CPython already includes these kind of byte code optimizations? Most of the easily seen and obviously safe low-hanging fruits for the compile step have been plucked. Note that the effect of the peephole process would only save a few percent, if any, for real apps*. Improving the C code invoked by bytecode has resulted in much larger gains. * We now have a much better benchmark suite with some real apps. This is thanks in part to the pypy project. Are all the temporary variables removed when byte code is generated? You can check these things for yourself: import dis dis.dis(function) will show you the byte code. But in general, I would expect not. CPython (that's the Python you probably use) doesn't do a lot of optimization apart from some simple constant folding. If you're interested in optimizing Python, you should look at the JIT optimizing Python compiler, PyPy. For CPython, new optimization has mostly moved to AST tranformations prior to compilation. (Python ASTs are new since Skip started the peephole work.) I believe there are some open issues on the tracker. Once optimization constraint Skip did not mention is the correspondence between source lines and blocks of bytecode, which is used by profiling, tracing, and tracebacks. Effectively transforming if type(a) == types.ComplexType: x = cmath.sin(a) foo(x) else: x = math.sin(a) foo(x) into if type(a) == types.ComplexType: x = cmath.sin(a) else: x = math.sin(a) foo(x) breaks the correspondence. If foo(x) raises, which original line should be reported as the source of the exception? -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list
[issue20655] test_subprocess is not executed in python -m test.test_asyncio
New submission from Vajrasky Kok: ethan@amiau:~/Documents/code/python/cpython3.4$ cat Lib/test/test_asyncio/tests.txt test_asyncio.test_base_events test_asyncio.test_events test_asyncio.test_futures test_asyncio.test_locks test_asyncio.test_proactor_events test_asyncio.test_queues test_asyncio.test_selector_events test_asyncio.test_streams test_asyncio.test_tasks test_asyncio.test_transports test_asyncio.test_unix_events test_asyncio.test_windows_events test_asyncio.test_windows_utils ethan@amiau:~/Documents/code/python/cpython3.4$ ls Lib/test/test_asyncio/test_subprocess.py Lib/test/test_asyncio/test_subprocess.py I provide two alternatives to fix this problem. The first is to add subprocess in tests.txt. -- components: Tests files: add_subprocess_to_tests.patch keywords: patch messages: 211398 nosy: gvanrossum, haypo, vajrasky priority: normal severity: normal status: open title: test_subprocess is not executed in python -m test.test_asyncio type: behavior versions: Python 3.4 Added file: http://bugs.python.org/file34114/add_subprocess_to_tests.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20655 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20655] test_subprocess is not executed in python -m test.test_asyncio
Vajrasky Kok added the comment: The second is the permanent fix so we don't need to add new test to tests.txt every time we want to add new test to asyncio test bundle. -- Added file: http://bugs.python.org/file34115/permanent_fix_for_executing_test_asyncio_in_bundle.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20655 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Vajrasky Kok added the comment: This is the preliminary patch for this bug. The bug happens because AddressFamily.AF_UNSPEC is 0. Then you have this if condition: getattr(object, name, None) or homecls.__dict__[name] I'll contemplate whether we should add unit test for this or not. -- keywords: +patch nosy: +vajrasky Added file: http://bugs.python.org/file34116/preliminary_patch_for_AF_UNSPEC_pydoc_error.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Vajrasky Kok added the comment: I just realized that Enum member could be None. I'll think how to improve this patch. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20655] test_subprocess is not executed in python -m test.test_asyncio
STINNER Victor added the comment: I prefer to dynamically discover tests, as we do in all other Python tests. I don't like hardcoded list, it leads to such issue. @Guido: What do you think? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20655 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20652] Example in asyncio task gives resource warning
Roundup Robot added the comment: New changeset ea4c74cc4da5 by Victor Stinner in branch 'default': Close #20652: asyncio doc: close the event loop in run_forever() example. Fix http://hg.python.org/cpython/rev/ea4c74cc4da5 -- nosy: +python-dev resolution: - fixed stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20652 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20648] 3.4 cherry-pick: multiple changesets for asyncio
STINNER Victor added the comment: changeset: 89231:ea4c74cc4da5 tag: tip user:Victor Stinner victor.stin...@gmail.com date:Mon Feb 17 10:54:30 2014 +0100 files: Doc/library/asyncio-task.rst description: Close #20652: asyncio doc: close the event loop in run_forever() example. Fix also typo. Patch written by Vajrasky Kok. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20648 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20638] KeyError building the Python html doc with sphinx
Xavier de Gaye added the comment: $ hg log -r tip changeset: 89198:72f9b6222476 tag: tip parent: 89195:dcbbff7e6b56 parent: 89197:f45d4823f63c user:Ezio Melotti ezio.melo...@gmail.com date:Sat Feb 15 16:59:39 2014 +0200 summary: #19890: merge with 3.3. The README.txt says: A make update updates the Subversion checkouts in `tools/` After running 'make update', 'make html' does not fail anymore. Maybe 'update' should be made a prerequisite of 'html' in the Makefile. Otherwise, sorry for the noise. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20638 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20638] KeyError building the Python html doc with sphinx
Georg Brandl added the comment: Thanks for the feedback. This was not the latest tip anyway: in the current tip the checked-out toolchain is gone and your system Sphinx is used. -- resolution: - out of date status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20638 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16468] argparse only supports iterable choices
Changes by Masato HASHIMOTO cabezon.hashim...@gmail.com: -- nosy: +hashimo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16468 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19363] Python 2.7's future_builtins.map is not compatible with Python 3's map
Gareth Rees added the comment: Sorry about that; here it is. I had second thoughts about recommending zip() as an alternative (that would only work for cases where the None was constant; in other cases you might need lambda *args: args, but this seemed too complicated), so the note now says only: Note: In Python 3, map() does not accept None for the function argument. -- keywords: +patch Added file: http://bugs.python.org/file34117/issue19363.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19363 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13720] argparse print_help() fails if COLUMNS is set to a low value
Serhiy Storchaka added the comment: Thank you Zbyszek and Steven for your report and patch, but this was fixed in issue13107. -- nosy: +serhiy.storchaka resolution: - duplicate stage: - committed/rejected status: open - closed superseder: - Text width in optparse.py can become negative ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13720 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Serhiy Storchaka added the comment: Just use getattr() without third argument and catch AttributeError. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Changes by Serhiy Storchaka storch...@gmail.com: -- assignee: - serhiy.storchaka keywords: +easy stage: - needs patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20656] OpenBSD: timeval.tv_sec type is long, not time_t
New submission from STINNER Victor: select.select() doesn't work on OpenBSD 64-bit because timeval.tv_sec is a long, whereas Python uses a time_t. Attached patch should fix this issue. -- messages: 211410 nosy: belopolsky, haypo, neologix, rpointel priority: normal severity: normal status: open title: OpenBSD: timeval.tv_sec type is long, not time_t versions: Python 3.4, Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20656 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20656] OpenBSD: timeval.tv_sec type is long, not time_t
STINNER Victor added the comment: Hum, Python 3.3 seems to be also affected. Nobody tried Python 3 on OpenBSD since at lease Python 3.2? -- versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20656 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20656] OpenBSD: timeval.tv_sec type is long, not time_t
Remi Pointel added the comment: Hi, I think you forgot to attach the diff. Python 3.3 is in OpenBSD since 5.4. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20656 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20657] OpenBSD: Merge patches
New submission from STINNER Victor: OpenBSD has its own collection of patches for Python 3.3: http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/python/3.3/patches/ These patches should be merged into Python directly. -- messages: 211413 nosy: haypo, rpointel priority: normal severity: normal status: open title: OpenBSD: Merge patches versions: Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20657 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20656] OpenBSD: timeval.tv_sec type is long, not time_t
STINNER Victor added the comment: I think you forgot to attach the diff. Oops. Python 3.3 is in OpenBSD since 5.4. So you should work more with upstream (Python) ;-) = see issue #20657 -- keywords: +patch Added file: http://bugs.python.org/file34118/pytime_objectotimeval.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20656 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20658] os.environ.clear() fails with empty keys (posix.unsetenv)
New submission from daniel hahler: posix.unsetenv fails to clear the environment if there's an entry with an empty key. TEST CASE: Python 2.7.6 (default, Jan 6 2014, 17:05:19) [GCC 4.8.1] on linux2 Type help, copyright, credits or license for more information. import os os.environ['']='foo' os.environ.clear() Traceback (most recent call last): File stdin, line 1, in module File /path/to/python/2.7.6/lib/python2.7/os.py, line 499, in clear unsetenv(key) OSError: [Errno 22] Invalid argument I believe that os.environ.clear() via unsetenv should handle empty keys. -- components: Interpreter Core messages: 211415 nosy: blueyed priority: normal severity: normal status: open title: os.environ.clear() fails with empty keys (posix.unsetenv) type: crash versions: Python 2.7, Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20658 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20659] Want to make a class method a property by combining decorators
New submission from the mulhern: The problems is that it is quite possible to define a property using @property in a class and then later to realize that it really ought to be a class method, not an instance method. But then, if you change it to a class method, using @classmethod annotation, the @property annotation will fail to work. If you are a pedantic person, and name your properties differently than you name your methods, you have to: 1) Change all uses of this former property back to method invocations, with a () 2) Change the name, so it now reflects that it is an actual function, not a property any longer. I think an @classproperty and an @staticproperty decorator would take this problem away. An alternative would be to make it possible to chain @property and @classmethod. I know that this is sort of doable for ABC.abstractproperty which is now deprecated in favor of @property combined with @ABC.abstractmethod. This would be ideal, but I can not pretend to know if it would be possible. Also, I suspect that the order would matter as it does for ABC as described in http://bugs.python.org/issue16267. -- components: Library (Lib) messages: 211416 nosy: the.mulhern priority: normal severity: normal status: open title: Want to make a class method a property by combining decorators type: enhancement versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20659 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20145] unittest.assert*Regex functions should verify that expected_regex has a valid type
the mulhern added the comment: Yes. I'ld check if it was a string or a regex object...there is already code that converts the string to a regular expression in there. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20145 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Vajrasky Kok added the comment: Here is the second preliminary patch. I'll think about the way to avoid dependency to socket module. -- Added file: http://bugs.python.org/file34119/pydoc_display_enum_member_value_0.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Vajrasky Kok added the comment: Here is the second patch, avoiding dependency to socket.AddressFamily (though it adds dependency to enum library) in test. -- Added file: http://bugs.python.org/file34120/pydoc_display_enum_member_value_0_v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20653] Pickle enums by name
Barry A. Warsaw added the comment: On Feb 17, 2014, at 07:03 AM, Serhiy Storchaka wrote: Currently enums are pickled by values. It means that if the value of enum is platform depending, pickling one enum you can unpickle other enum on other platform. It's probably a good idea to pickle by name by default, in order to support the stdlib use case. Please just be sure to preserve the ability for user code to pickle by value via subclassing. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20653 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20660] Starting a second multiprocessing.Manager causes INCREF on all object created by the first one.
New submission from mythsmith: I seems that upon the start of a second manager, all objects referenced in the first one gets an INCREF. On the third start, all objects created by the first and the second manager get another INCREF. And so on. I cannot understand why the start of a totally new manager, in a new process, will cause all these INCREF about object hosted on other managers - which cause the program to take forever to start/stop. This small script fully reproduces the behaviour, tested in python 2.7 and 3.2: from __future__ import print_function import multiprocessing, logging # # Activate multiprocessing logging mplog = multiprocessing.get_logger() mplog.setLevel(multiprocessing.util.DEBUG) mplog.addHandler(logging.StreamHandler()) objs=[] def newman(n=50): global objs m=multiprocessing.Manager() print('created') for i in range(n): objs.append(m.Value('i',i)) return m print(' first man') m1=newman() print (' second man') m2=newman() print (' third man') m3=newman(0) (Output is attached) After the start of the first manager, the logger prints out the messages relative to the creation of the first 50 objects. But when the second manager is starting - before any object was created by it - the logger prints out exactly 50 INCREF messages.Then follows the messages relating to the creation of the 50 new objects on manager 2. When the third manager starts - before any object was created by it - 100 more INCREF messages are printed. No object creation message is seen after m3 creation, as I passed 0 to the newman() function. When the program ends, a similar amount of DECREF messages is printed. It seems that, when I start a new manager, it creates a reference to all objects referenced by previous managers. In a big application this translates into extremely slow startup/shutdown. -- components: Library (Lib) files: output.txt messages: 211421 nosy: mythsmith priority: normal severity: normal status: open title: Starting a second multiprocessing.Manager causes INCREF on all object created by the first one. type: behavior versions: Python 2.7, Python 3.2 Added file: http://bugs.python.org/file34121/output.txt ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20660 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20648] 3.4 cherry-pick: multiple changesets for asyncio
Larry Hastings added the comment: Yeah, I considered getting fussy about you didn't follow instructions. But this actually is better for me, as it means I can apply the patches in chronological order. Like Guido said, I intend to be permissive when it comes to asyncio for 3.4.0. I'm assuming that these patches don't touch anything outside asyncio (implementation and doc). If that's all they touch, then yeah I'll accept them. If any of them touch other files then we may need to discuss it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20648 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20661] 3.4 cherry-pick: eef7899ea7ab use system doc toolchain instead of checking out of svn
New submission from Georg Brandl: 3.4 cherry-pick: eef7899ea7ab use system doc toolchain instead of checking out of svn -- assignee: larry messages: 211423 nosy: georg.brandl, larry priority: release blocker severity: normal status: open title: 3.4 cherry-pick: eef7899ea7ab use system doc toolchain instead of checking out of svn versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20661 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20619] lineno and col_offset attributes of _ast.arg objects are not set
Changes by Benjamin Peterson bp+pyb...@benjamin-peterson.org: -- assignee: - larry resolution: fixed - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20619 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20594] [PATCH] fail to compile posixmodule due to name clash with posix_close
Changes by Benjamin Peterson bp+pyb...@benjamin-peterson.org: -- nosy: +benjamin.peterson, georg.brandl priority: high - release blocker resolution: fixed - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20594 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20594] [PATCH] fail to compile posixmodule due to name clash with posix_close
Changes by Benjamin Peterson bp+pyb...@benjamin-peterson.org: -- assignee: - larry ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20594 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17899] os.listdir() leaks FDs if invoked on FD pointing to a non-directory
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17899 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Serhiy Storchaka added the comment: The fix itself looks good, but the test can be better. You write temporary file in current directory. this can fail for different reasons, Python can crash and left undeleted file, this file can overwrite existing file. The render_doc() function is last module level function in a traceback, and it can be used for testing, temporary file will be not needed. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18352] collections.Counter with added attributes are not deepcopied properly.
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18352 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20654] Pydoc (and help) fails with socket.AddressFamily
Serhiy Storchaka added the comment: Interesting, that the documentation for AddressFamily (unlike to SocketType) isn't generated in html doc. May be this is unrelated issue, but if this is related, it would be good to fix it too. Otherwise it needs separate issue. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20654 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20662] Pydoc doesn't escape parameter defaults in html
New submission from Serhiy Storchaka: Pydoc doesn't escape parameter defaults in generated html files. For example for the socket.__init__() method in the socket module following html code is generated: dldta name=socket-__init__strong__init__/strong/a(self, family=AddressFamily.AF_INET: 2, type=SocketType.SOCK_STREAM: 1, proto=0, fileno=None)/dt/dl As result AddressFamily.AF_INET: 2 and SocketType.SOCK_STREAM: 1 aren't visible in browser (they are illegal html tags). -- components: Library (Lib) messages: 211426 nosy: georg.brandl, serhiy.storchaka priority: normal severity: normal status: open title: Pydoc doesn't escape parameter defaults in html type: behavior versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20662 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16278] Improve os.rename documentation and tests
Benjamin Peterson added the comment: 1. You removed the note about files being on the same filesystem on Unix. That's useful. 2. I don't think it needs to be mentioned that you'll get an error if *src* doesn't exist. 3. The table is strange because the destination header spans 2 columns, while the description of destination types seems to be 3 columns. 4. The destination type entries are marked as the table header, but the source type entries are not. -- nosy: +benjamin.peterson ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16278 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20655] test_subprocess is not executed in python -m test.test_asyncio
Guido van Rossum added the comment: Please apply the fix and make sure it gets cherry-picked. I agree on dynamic test recovery but don't find it a high priority. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20655 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20653] Pickle enums by name
Serhiy Storchaka added the comment: To pickle by value, the subclass needs only restore current implementation of __reduce_ex__(): def __reduce_ex__(self, proto): return self.__class__, (self.value,) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20653 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20663] Introduce exception argument to iter
New submission from Ram Rachum: See discussion: https://groups.google.com/forum/#!searchin/python-ideas/iter/python-ideas/UCaNfAHkBlQ/5vX7JbpCxDkJ `iter` has a very cool `sentinel` argument. I suggest an additional argument `exception`; when it's supplied, instead of waiting for a sentinel value, we wait for a sentinel exception to be raised, and then the iteration is finished. This'll be useful to construct things like this: my_iterator = iter(my_deque.popleft, exception=IndexError) I also suggest being able to pass multiple exceptions in a tuple to have any of them trigger a `StopIteration`. -- components: Interpreter Core messages: 211431 nosy: cool-RR, terry.reedy priority: normal severity: normal status: open title: Introduce exception argument to iter type: enhancement versions: Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20663 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19619] Blacklist base64, hex, ... codecs from bytes.decode() and str.encode()
Serhiy Storchaka added the comment: I don't think that adding underscored parameter to public API is best solution, but we need the fix for 3.3. So here is a patch for backporting d68df99d7a57 to 3.3. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19619 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20653] Pickle enums by name
Ethan Furman added the comment: I agree that pickling by name is the better solution. Serhiy, could you explain how the un-pickling works with protocol 4? -- assignee: - ethan.furman ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20653 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20653] Pickle enums by name
Serhiy Storchaka added the comment: This is new feature of protocol 4 (PEP 3154, section 'Serializing more lookupable objects'). When __reduce_ex__() returns a string (instead of a tuple), this is interpreted as the name of a global, and qualnames with dots are now supported in protocol 4. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20653 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20653] Pickle enums by name
Serhiy Storchaka added the comment: May be a number of tests which test pickling subclasses with or without some special methods are not needed longer. Fell free to improve my patch if you want to make all cleanup changes in one commit. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20653 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15871] Online docs: make index search always available.
Changes by Ezio Melotti ezio.melo...@gmail.com: -- versions: +Python 3.5 -Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15871 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20651] 3.4 cherry-pick: 52ab9e1ff46a rolls back bad zipimport changes
Larry Hastings added the comment: Okay. I'm holding off a couple days just to get all the requests lined up, so I can apply them in chronological order--that'll cut down on the conflicts. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20651 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14976] queue.Queue() is not reentrant, so signals and GC can cause deadlocks
Itamar Turner-Trauring added the comment: This is not specifically a signal issue; it can happen with garbage collection as well if you have a Queue.put that runs in __del__ or a weakref callback function. This can happen in real code. In my case, a thread that reads log messages from a Queue and writes them to disk. The thread putting log messages into the Queue can deadlock if GC happens to cause a log message to be written right after Queue.put() acquired the lock. (see https://github.com/itamarst/crochet/issues/25). -- nosy: +itamarst title: Queue.PriorityQueue() is not interrupt safe - queue.Queue() is not reentrant, so signals and GC can cause deadlocks versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14976 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20621] Issue with zipimport in 3.3.4 and 3.4.0rc1
Gregory P. Smith added the comment: Thanks for trying. :) I've got a complicated test case of zipping up the stdlib into python27.zip and running the Python test suite against that which also tends to trigger the bugs. Some tests failing with SystemError and such. It smells like a memory corruption issue but I haven't had time to sit down and dive in to find it. I won't proceed on my patches for the original bug until I can figure it out and come up with a more exhaustive unittest that demonstrates the bug. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20621 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20664] _findLib_crle and _get_soname broken on latest SunOS 5.11
New submission from Ryan Gordon: On SunOS 5.11, both the _findLib_crle and _get_soname are broken. With _findLib_crle, the function returns the following: # env LC_ALL=C /usr/bin/crle -64 Default configuration file (/var/ld/64/ld.config) not found Platform: 64-bit LSB AMD64 Default Library Path (ELF): /lib/64:/usr/lib/64 (system default) Trusted Directories (ELF):/lib/secure/64:/usr/lib/secure/64 (system default) # env LC_ALL=C /usr/bin/crle Configuration file [version 4]: /var/ld/ld.config Platform: 32-bit LSB 80386 Default Library Path (ELF): /lib:/usr/lib Trusted Directories (ELF):/lib/secure:/usr/lib/secure (system default) Command line: crle -c /var/ld/ld.config -l /lib:/usr/lib The Default Library Path (ELF): /lib:/usr/lib is extracted to /lib:/usr/lib and only those two paths are checked for the library in question. Unfortunately this means that there is absolutely no way to configure any environment variable to check on other paths and both /lib and /usr/lib are read-only directories mounted from the global zone: [ /usr/lib] # touch test.txt touch: cannot touch `test': Read-only file system [ /lib] # touch test.txt touch: cannot touch `test': Read-only file system An environment variable should be read in that can be configured to override this functionality. The second issue with _get_soname is that is calls /usr/ccs/bin/dump which doesn't exist at all: (/usr/ccs/bin/ is an old deprecated directory which has since been removed) # ll /usr/ccs/bin/dump ls: cannot access /usr/ccs/bin/dump: No such file or directory -- components: ctypes messages: 211438 nosy: rygorde4 priority: normal severity: normal status: open title: _findLib_crle and _get_soname broken on latest SunOS 5.11 type: behavior versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20664 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12691] tokenize.untokenize is broken
Changes by Terry J. Reedy tjre...@udel.edu: -- assignee: docs@python - terry.reedy nosy: +terry.reedy stage: test needed - patch review versions: +Python 2.7, Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12691 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8478] tokenize.untokenize first token missing failure case
Changes by Terry J. Reedy tjre...@udel.edu: -- assignee: - terry.reedy nosy: +terry.reedy stage: - patch review versions: +Python 2.7, Python 3.3, Python 3.4 -Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20594] [PATCH] fail to compile posixmodule due to name clash with posix_close
Larry Hastings added the comment: I created a cherry-pick issue (#20665) to track that separately. -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20594 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20665] 3.4 cherry-pick: 400a8e4599d9 rename posix_close to avoid namespace clash
New submission from Larry Hastings: Creating new issue from #20594 to track cherry-picking this into 3.4.0. -- assignee: larry components: Build messages: 211439 nosy: larry priority: release blocker severity: normal stage: commit review status: open title: 3.4 cherry-pick: 400a8e4599d9 rename posix_close to avoid namespace clash type: compile error versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20665 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20665] 3.4 cherry-pick: 400a8e4599d9 rename posix_close to avoid namespace clash
Larry Hastings added the comment: 400a8e4599d9 is the revision. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20665 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20265] Bring Doc/using/windows up to date
Zachary Ware added the comment: The plan is to eventually have enough time to pick through the file and make sure everything is actually up to date :). From just a quick glance, here's a couple of the things that still need to be done: - all of the external links should be checked for whether they are up to date (and still relevant to current Python) - the 'Excursus: Setting environment variables' section needs a major overhaul ('autoexec.bat' isn't used (or at least not recommended) anymore, among other things) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20265 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20661] 3.4 cherry-pick: eef7899ea7ab use system doc toolchain instead of checking out of svn
Larry Hastings added the comment: Okay. I'll do the first round of cherry-picking Tuesday or Wednesday (my time). I'm waiting for the list of requests to settle down so I can do them in chronological order. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20661 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20645] 3.4 cherry-pick: 1166b3321012 Revert changes of issue #19466 (clear thread state earlier)
Larry Hastings added the comment: Okay. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20645 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20510] Test cases in test_sys don't match the comments
Zachary Ware added the comment: The newer patch looks good to me, I'll get it committed as soon as I can test it. Thanks! -- assignee: - zach.ware ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20510 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20646] 3.4 cherry-pick: 180e4b678003 select and kqueue round the timeout aways from zero
Larry Hastings added the comment: This one worries me a little. Antoine, do you agree that this should be cherry-picked for 3.4.0? -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20646 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com