How to undo a Python setuptools --prefix path blunder
When I installed Python's setuptools I absent mindedly tacked on a -- prefix path I had been using on another machine: sh setuptools-0.6c11-py2.7.egg --prefix=/opt/python2.7.2 Now after this blunder when I try to install pip I get the following error: [root@kkdev src]# easy_install pip Searching for pip Best match: pip 1.0.2 Processing pip-1.0.2-py2.7.egg pip 1.0.2 is already the active version in easy-install.pth Installing pip script to /usr/bin error: /usr/bin/pip: No such file or directory What's happening is that a symbolic link is being created that points to the folder I specified in the --prefix path which is obviously wrong: [root@kkdev src]# ls -al /usr/bin/pip lrwxrwxrwx 1 root root 24 Nov 5 17:01 /usr/bin/pip -> /opt/ python2.7.2/bin/pip I deleted this link and then re-ran the setuptools installer and specified the correct prefix (my Python install lives in /usr/lib/ python2.7): sh setuptools-0.6c11-py2.7.egg --prefix=/usr I then re-ran easy_install pip and it looked like I'd fixed my finger trouble. However when I went to install virtualenv I encountered the same problem: [root@kkdev src]# pip install virtualenv [uninteresting installer output snipped] Installing virtualenv script to /usr/bin error: /usr/bin/virtualenv: No such file or directory Again the wrong path is being used to create the symbolic link to where virtualenv is installed: [root@kkdev src]# ls -al /usr/bin/virtualenv lrwxrwxrwx 1 root root 31 Nov 5 17:01 /usr/bin/virtualenv -> /opt/ python2.7.2/bin/virtualenv (I'm running Fedora 15 32bit which has Python 2.7.1 installed out of the box) How do I fix/repair this permanently? Thanks Kevin -- http://mail.python.org/mailman/listinfo/python-list
Re: design question
Tim Arnold wrote: > This is a question about system design I guess. I have a django > website that allows users to change/view configuration details for > documentation builds. The database is very small. The reason I'm using > a database in the first place is to make it easy for users to change > the configuration of their builds. Django makes that easy and I can go > on to other problems, like actually building the documentation. > > During a build, I query the configuration database at different times > to get the configuration I need, which results in several calls to the > database at different points of the build process. > > It doesn't feel right that I'm making these calls at different times. > I *could* make a single big call at the beginning of the build, > basically serializing all the config data I could need into a > dictionary or maybe a json structure. And just pass that structure > around as needed during the build, with no more database calls needed. > > These builds take from a few minutes to an hour or so, with the time > spent making db calls almost insignificant. So if time isn't a > problem, am I wringing my hands over something that really doesn't > matter much? I guess it just doesn't feel like the right thing to me. > > thanks, > --Tim Hello Tim, Given the times that you've quoted for the documentation builds, a few microseconds here and there for database queries doesn't really matter. The Django docs, as it happens, look favourably on doing one query up front, (http://docs.djangoproject.com/en/1.1/topics/db/optimization/#topics-db-optimization), but they also recommend profiling first, which would presumably highlight the insignificance of your queries compared with the duration of the builds. So I think the upshot is don't worry about it, or if you must, accept that you're worrying more about aesthetics than anything else (not that aesthetics aren't important). Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: UTF-EBCDIC encoding?
Joel Goldstick wrote: > On Fri, Jul 12, 2013 at 3:12 PM, Skip Montanaro wrote: > >> > I can't help you. I'm astonished. Trying to imagine the work >> environment >> > where this technology would be necessary >> >> http://www.iseriespython.com/app/ispMain.py/Start?job=Home >> >> Skip >> > I remember the AS400 series.. although I never worked with one. What kind > of business still use that stuff? Is it for large corporation accounting, > MIS stuff? > > Some banks still run legacy systems on AS/400s, and I've seen them used for airline booking systems and retail POS. -- http://mail.python.org/mailman/listinfo/python-list
Re: One of my joomla webpages has been hacked. Please help.
Νίκος Γκρεεκ wrote: > Τη Σάββατο, 22 Σεπτεμβρίου 2012 10:26:05 π.μ. UTC+3, ο χρήστης Peter Otten > έγραψε: >> Νίκος Γκρεεκ wrote: >> >> >> >> > One webpage of mine, http://www.varsa.gr/ has been *hacked* 15 mins >> > ago. >> >> >> >> > Please visit my web page varsa.gr and view the source code and maybe >> > you >> >> > can tell me what has happened. >> >> >> >> Do you use a password that was exposed in the other thread, >> >> >> >> http://mail.python.org/pipermail/python-list/2012-September/630779.html >> >> >> >> ? > No, that was for another web page of mine utilizing python mysql > connection, this was joomla only website which remind me to also ask if i > can embed somwhow python code to joomla cms. This is only speculation, as I don't know exactly how your web page has been "hacked", but if your page somehow exposes a database connection, and the hack involves changing the contents of the database then you should read up on SQL injection attacks and how to prevent them. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Suitable software stacks for simple python web service
Hello List, I have to build a simple web service which will: - receive queries from our other servers - forward the requests to a third party SOAP service - process the response from the third party - send the result back to the original requester >From the point of view of the requester, this will happen within the scope of a single request. The data exchanged with the original requester will likely be encoded as JSON; the SOAP service will be handled by SUDS. The load is likely to be quite light, say a few requests per hour, though this may increase in the future. Given these requirements, what do you think might be a suitable software stack, i.e. webserver and web framework (if a web framework is even necessary)? Candidates should be compatible with Python2.7, though I'd be happy to consider Python 3 if anyone knows of a Python3 SOAP library that has good WSDL support. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Suitable software stacks for simple python web service
Steve Petrie wrote: > On Wednesday, November 21, 2012 2:32:40 AM UTC-5, Kev Dwyer wrote: >> Hello List, >> >> >> >> I have to build a simple web service which will: >> >> >> >> - receive queries from our other servers >> >> - forward the requests to a third party SOAP service >> >> - process the response from the third party >> >> - send the result back to the original requester >> >> >> >> >From the point of view of the requester, this will happen within the >> >scope >> >> of a single request. >> >> >> >> The data exchanged with the original requester will likely be encoded as >> >> JSON; the SOAP service will be handled by SUDS. >> >> >> >> The load is likely to be quite light, say a few requests per hour, though >> >> this may increase in the future. >> >> >> >> Given these requirements, what do you think might be a suitable software >> >> stack, i.e. webserver and web framework (if a web framework is even >> >> necessary)? >> >> >> >> Candidates should be compatible with Python2.7, though I'd be happy to >> >> consider Python 3 if anyone knows of a Python3 SOAP library that has good >> >> WSDL support. >> >> >> >> Cheers, >> >> >> >> Kev > > I'm using the Bottle web framework (http://bottlepy.org) to integrate > requests and replies originating in a Drupal site, a Beanstream (payment > processor) account, and a Salesforce instance. > > Communication with Salesforce is done through the Salesforce Python > Toolkit (http://code.google.com/p/salesforce-python-toolkit/), which uses > Suds. > > Communication with the Drupal site uses Python's (and PHP's on the Drupal > side) native JSON support. > > This is under Python 2.6.8 and Apache 2.2.23 running on an AWS EC2 > instance. > > No (major) problems so far, though still in the early stages of this > project. > > Steve > > > > I chose Bottle after trying a few other frameworks because, well, I can't > remember exactly why, though thinking back it's probably because of the > clarity of Bottle's approach and the simplicity of the documentation. Hello Steve, Thanks for your comment. I'm curious, did you consider any web servers other than Apache? Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Suitable software stacks for simple python web service
Dieter Maurer wrote: > > From your description (so far), you would not need a web framework > but could use any way to integrate Python scripts into a web server, > e.g. "mod_python", "cgi", "WSGI", > Check what ways your web server will suport. Hello Dieter Thanks for your comment. I certainly want a lightweight solution so CGI or one of the micro-frameworks are what I am considering. Cheers Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Suitable software stacks for simple python web service
Steve Petrie wrote: > On Thursday, November 22, 2012 1:42:42 AM UTC-5, Kev Dwyer wrote: >> Steve Petrie wrote: >> >> >> >> > On Wednesday, November 21, 2012 2:32:40 AM UTC-5, Kev Dwyer wrote: >> >> >> Hello List, >> >> >> >> >> >> >> >> >> >> >> >> I have to build a simple web service which will: >> >> >> >> >> >> >> >> >> >> >> >> - receive queries from our other servers >> >> >> >> >> >> - forward the requests to a third party SOAP service >> >> >> >> >> >> - process the response from the third party >> >> >> >> >> >> - send the result back to the original requester >> >> >> >> >> >> >> >> >> >> >> >> >From the point of view of the requester, this will happen within the >> >> >> >scope >> >> >> >> >> >> of a single request. >> >> >> >> >> >> >> >> >> >> >> >> The data exchanged with the original requester will likely be encoded >> >> as >> >> >> >> >> >> JSON; the SOAP service will be handled by SUDS. >> >> >> >> >> >> >> >> >> >> >> >> The load is likely to be quite light, say a few requests per hour, >> >> though >> >> >> >> >> >> this may increase in the future. >> >> >> >> >> >> >> >> >> >> >> >> Given these requirements, what do you think might be a suitable >> >> software >> >> >> >> >> >> stack, i.e. webserver and web framework (if a web framework is even >> >> >> >> >> >> necessary)? >> >> >> >> >> >> >> >> >> >> >> >> Candidates should be compatible with Python2.7, though I'd be happy to >> >> >> >> >> >> consider Python 3 if anyone knows of a Python3 SOAP library that has >> >> good >> >> >> >> >> >> WSDL support. >> >> >> >> >> >> >> >> >> >> >> >> Cheers, >> >> >> >> >> >> >> >> >> >> >> >> Kev >> >> > >> >> > I'm using the Bottle web framework (http://bottlepy.org) to integrate >> >> > requests and replies originating in a Drupal site, a Beanstream >> > (payment >> >> > processor) account, and a Salesforce instance. >> >> > >> >> > Communication with Salesforce is done through the Salesforce Python >> >> > Toolkit (http://code.google.com/p/salesforce-python-toolkit/), which >> > uses >> >> > Suds. >> >> > >> >> > Communication with the Drupal site uses Python's (and PHP's on the >> > Drupal >> >> > side) native JSON support. >> >> > >> >> > This is under Python 2.6.8 and Apache 2.2.23 running on an AWS EC2 >> >> > instance. >> >> > >> >> > No (major) problems so far, though still in the early stages of this >> >> > project. >> >> > >> >> > Steve >> >> > >> >> > >> >> > >> >> > I chose Bottle after trying a few other frameworks because, well, I >> > can't >> >> > remember exactly why, though thinking back it's probably because of the >> >> > clarity of Bottle's approach and the simplicity of the documentation. >> >> >> >> >> >> Hello Steve, >> >> >> >> Thanks for your comment. >> >> >> >> I'm curious, did you consider any web servers other than Apache? >> >> >> >> Kev > > You're telling me that there are other web servers? ;) > > I didn't try any others seriously, no. My experience is with Apache and > IIS, and I try to stay away from Windows. > > I should mention, given Dieter Maurer's comment, that Bottle is a (fairly > thin) layer built over WSGI. I've built applications directly over WSGI > as well; that's another way to go, it's quite straightforward. mod_python > is no longer supported: > http://blog.dscpl.com.au/2010/05/modpython-project-soon-to-be- officially.html. Based on Dieter's comment I'm using Bottle as a framework, with gunicorn (behind nginx) as the webserver. Even Bottle is probably overkill for my use case, but my time is rather limited, so I'm happy to use an off the shelf solution. And I must say, configuring gunicorn and nginx contrasted pleasantly with my memories of struggling with httpd.conf :) -- http://mail.python.org/mailman/listinfo/python-list
Re: Regarding Jython support in IBM and HP platforms
Naresh Kumar wrote: > > > > Hello, > > I am trying to use the Jython in IBM AIX and HP machines to test our > framework which is based on JAVA. when trying to run our python and jython > based testcases using system test framework we are getting below errors in > jython.err file > > > > Error: could not find libjava.so > > Error: could not find Java 2 Runtime > Environment.” (Shared library of java) > > > > Trying to find in online whether jython is supported on these two > platforms HP and IBM and i could not able to get proper info. so could you > please provide me the info like what are all platforms it > supports(jython)? If not when do you guys are supporting on HP and IBM > because java is pretty much support on all platforms and machine > independent, so jython is similar like java. > > Thanks in advance, > Naresh Hello, Jython is an implementation of the Python language in Java, so it will run on any platform that can run a JVM. From the information that you have provided, it seems that Jython cannot find libjava.so. The Jython docs suggest that Jython's behaviour can be influenced by the value of the environmental variable JAVA_HOME (http://www.jython.org/docs/using/cmdline.html#environment-variables). Have you checked that $JAVA_HOME is set to a suitable value for the user that is running Jython? My JAVA_HOME: kev@pluto ~/Download echo $JAVA_HOME /usr/lib64/jvm/java If I download the jython 2.5.3 jar and run a simple test script I get: kev@pluto ~/Download java -jar jython.jar jtest.py *sys-package-mgr*: processing new jar, '/home/kev/Download/jython.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/resources.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/rt.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/jsse.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/jce.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/charsets.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/rhino.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/pulse-java.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/gnome-java-bridge.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/sunpkcs11.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/localedata.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/dnsns.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/swt.jar' *sys-package-mgr*: processing new jar, '/usr/lib64/jvm/java-1.6.0- openjdk-1.6.0/jre/lib/ext/sunjce_provider.jar' Hello Jython world! So I think you need to check your environment. Cheers, Kevin -- http://mail.python.org/mailman/listinfo/python-list
Re: test failed: test_urlwithfrag
als(), locals(), []) ImportError: No module named 'test.test_urlwithfrag' 1 test failed: test_urlwithfrag The bug has been fixed - see http://bugs.python.org/issue16969 Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: How can I catch misnamed variables?
John Gordon wrote: > Recently I was been bitten by some stupid errors in my code, and I'm > wondering if there's a simple way to catch them. > Pyflakes is another static checker that can catch these sorts of errors. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: log and figure out what bits are slow and optimize them.
sajuptpm wrote: > Hi, > > Yes i saw profile module, > I think i have to do function call via > > cProfile.run('foo()') > > I know, we can debug this way. > > But, i need a fixed logging system and want to use it in production. > I think, we can't permanently include profile's debugging code > in source code, > will cause any performance issue ?? *Any* instrumentation code is going to affect performance. It's a trade-off that you need to analyse and manage in the context of your application. -- http://mail.python.org/mailman/listinfo/python-list
Re: Is there a custom fields plugin or component of django
kevon wang wrote: > I want to find a plugin of django what it can custom fields in the form. > The functions include custom fields in web page and create the fields in > database. > You might have more luck getting an answer to this question on the django list (django-us...@googlegroups.com if you're using Google Groups). Cheers -- http://mail.python.org/mailman/listinfo/python-list
Re: How does python bytecode works?
gmspro wrote: > We know python is written in C. > C is not portable. > So how does python work on a webserver like apache/httpd for a python > website? How does the intermediate language communicate with server > without compiling python code? Or how does python interpreted code work > with webserver for python based websites? > > Please elaborate/explain this topic with example. > > Thanks. http://en.wikipedia.org/wiki/Bytecode -- http://mail.python.org/mailman/listinfo/python-list
Re: How can i build python3 without optimization?
gmspro wrote: > I tried this: > CFLAG=-g ./configure --prefix=/home/user/localdir > > But during debugging python i get: > > (gdb)next > (gdb)print variable > (gdb)$1 = > > What should i do? > How can i get the value of a variable instead of ? > > Thanks. Maybe try: http://docs.python.org/devguide/setup.html#compiling-for- debugging -- http://mail.python.org/mailman/listinfo/python-list
Re: regarding session in python
vipul jain wrote: > hey i am new to python and i want to make a website using python . > so for that i need a login page. in this login page i want to use the > sessions... but i am not getting how to do it The Python standard library doesn't include a session framework, but you can either use a web framework written in Python (Django is the most popular). Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: pairwise combination of two lists
Yingjie Lin wrote: > Hi Python users, > > I have two lists: > > li1 = ['a', 'b'] > li2 = ['1', '2'] > > and I wish to obtain a list like this > > li3 = ['a1', 'a2', 'b1', 'b2'] > > Is there a handy and efficient function to do this, especially when li1 > and li2 are long lists. > I found zip() but it only gives [('a', '1'), ('b', '2')], not exactly > what I am looking for. > > Thank you. > > > - Yingjie Hello Yingjie, This isn't exactly handy, but... >>> import itertools >>> a = ('a', 'b') >>> b = (1, 2) >>> [x + str(y) for (x, y) in itertools.product(*(a, b))] ['a1', 'a2', 'b1', 'b2'] Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: IDLE doesn't start
Ceonn Bobst wrote: > > When I open a command prompt, and type: > c:\python32\python.exe -m idlelib.idle > > The message that comes is as follows: > > Microsoft Windows XP [Version 5.1.2600] > (C) Copyright 1985-2001 Microsoft Corp. > C:\Documents and Settings\Ceonn>c:\python32\python.exe -m idlelib.idle > Traceback (most recent call last): > File "c:\python32\lib\runpy.py", line 160, in _run_module_as_main > "__main__", fname, loader, pkg_name) > File "c:\python32\lib\runpy.py", line 73, in _run_code > exec(code, run_globals) > File "c:\python32\lib\idlelib\idle.py", line 11, in > idlelib.PyShell.main() > File "c:\python32\lib\idlelib\PyShell.py", line 1374, in main > root = Tk(className="Idle") > File "c:\python32\lib\tkinter\__init__.py", line 1674, in __init__ > self.tk = _tkinter.create(screenName, baseName, className, interactive, > want objects, useTk, sync, use) > _tkinter.TclError: Can't find a usable init.tcl in the following > directories: {C:\IBMTOOLS\Python22\tcl\tcl8.4} > C:/IBMTOOLS/Python22/tcl/tcl8.5 c:/python3 2/lib/tcl8.5 c:/lib/tcl8.5 > c:/lib/tcl8.5 c:/library c:/library c:/tcl8.5.9/libra ry > c:/tcl8.5.9/library C:/IBMTOOLS/Python22/tcl/tcl8.4/init.tcl: version > conflict for package "Tcl": ha ve 8.5.9, need exactly 8.4 > version conflict for package "Tcl": have 8.5.9, need exactly 8.4 > while executing > "package require -exact Tcl 8.4" > (file "C:/IBMTOOLS/Python22/tcl/tcl8.4/init.tcl" line 19) > invoked from within > "source C:/IBMTOOLS/Python22/tcl/tcl8.4/init.tcl" > ("uplevel" body line 1) > invoked from within > "uplevel #0 [list source $tclfile]" > > Someone told me: “You certainly have a TCL_LIBRARY environment variable > set on your system, it should be removed”. > > How do I remove TCL_LIBRARY, or do I change some numbers somewhere, and > isn’t it risky to tinker with the Python settings already on my computer? > > Thanks for any help, I really would like to get going with Python! Hello, You have an older version of Python on your machine in C:/IBMTOOLS. It's likely that the TCL_LIBRARY is pointing to the version of TCL installed there, and this is causing problems for your more modern Python install. You change change Windows environment variables using the instructions here: http://support.microsoft.com/kb/310519. Changing the environment variable is the documented solution for this - see http://bugs.python.org/issue5528. If you keep a note of the environment variable you can always reinstate it later. You can find some comments about the purpose of the IBMTOOLS folder at http://forum.thinkpads.com/viewtopic.php?f=8&t=216. All the best, Kev -- http://mail.python.org/mailman/listinfo/python-list
Mutable global state and threads
Hello List, I came across some threading code in Some Other place recently and wanted to sanity-check my assumptions. The code (below) creates a number of threads; each thread takes the last (index -1) value from a global list of integers, increments it by one and appends the new value to the list. The originator of the code expected that when all the threads completed, the list would be an ascending sequence of integers, for example if the original list was [0] and two threads mutated it twice each, the final state would be [0, 1, 2, 3, 4]. Here is a version of the code (slightly simplified and modified to allow changing the number of threads and mutations). import sys import threading class myThread(threading.Thread): def __init__(self, nmutations): threading.Thread.__init__(self) self.nmutations = nmutations def run(self): mutate(self.nmutations) # print (L) return def mutate(nmutations): n = nmutations while n: L.append(L[-1 ]+ 1) n -= 1 return def main(nthreads=2, nmutations=2): global L L = [0] threads = [myThread(nmutations) for i in range(nthreads)] for t in threads: t.start() for t in threads: t.join() print(L) assert L == list(range((nthreads * nmutations) + 1)) if __name__ == '__main__': nthreads, nmutations = int(sys.argv[1]), int(sys.argv[2]) main(nthreads, nmutations) Firstly, is it true that the statement L.append(L[-1 ]+ 1) is not atomic, that is the thread might evaluate L[-1] and then yield, allowing another thread to mutate L, before incrementing and appending? Secondly, the original code printed the list at the end of a thread's run method to examine the state of the list. I don't think this would work quite as expected, because the thread might yield after mutating the list but before printing, so the list could have been mutated before the print was executed. Is there a way to display the state of the list before any further mutations take place? (Disclaimer: I understand that sanity, mutable global state and threads are unlikely bedfellows and so promise never to try anything like this in production code). Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Mutable global state and threads
Hello List, I came across some threading code in Some Other place recently and wanted to sanity-check my assumptions. The code (below) creates a number of threads; each thread takes the last (index -1) value from a global list of integers, increments it by one and appends the new value to the list. The originator of the code expected that when all the threads completed, the list would be an ascending sequence of integers, for example if the original list was [0] and two threads mutated it twice each, the final state would be [0, 1, 2, 3, 4]. Here is a version of the code (slightly simplified and modified to allow changing the number of threads and mutations). import sys import threading class myThread(threading.Thread): def __init__(self, nmutations): threading.Thread.__init__(self) self.nmutations = nmutations def run(self): mutate(self.nmutations) # print (L) return def mutate(nmutations): n = nmutations while n: L.append(L[-1 ]+ 1) n -= 1 return def main(nthreads=2, nmutations=2): global L L = [0] threads = [myThread(nmutations) for i in range(nthreads)] for t in threads: t.start() for t in threads: t.join() print(L) assert L == list(range((nthreads * nmutations) + 1)) if __name__ == '__main__': nthreads, nmutations = int(sys.argv[1]), int(sys.argv[2]) main(nthreads, nmutations) Firstly, is it true that the statement L.append(L[-1 ]+ 1) is not atomic, that is the thread might evaluate L[-1] and then yield, allowing another thread to mutate L, before incrementing and appending? Secondly, the original code printed the list at the end of a thread's run method to examine the state of the list. I don't think this would work quite as expected, because the thread might yield after mutating the list but before printing, so the list could have been mutated before the print was executed. Is there a way to display the state of the list before any further mutations take place? (Disclaimer: I understand that sanity, mutable global state and threads are unlikely bedfellows and so promise never to try anything like this in production code). Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: sorting a list of dicts by a computed field
Larry Martell wrote: > I have a list of dicts and one item of the dict is a date in m/d/Y > format. I want to sort by that. I tried this: > > sorted(data['trends'], key=lambda k: > datetime.strptime(k['date_time'],'%m/%d/%Y')) > > But that fails with: > > Exception Type: AttributeError at > /report/CDSEM/WaferAlignment/ajax/waChart.json Exception Value: 'module' > object has no attribute 'strptime' > > How can I do this sort? datetime.datetime.strptime? >>> import datetime >>> datetime.strptime Traceback (most recent call last): File "", line 1, in AttributeError: module 'datetime' has no attribute 'strptime' >>> datetime.datetime.strptime -- https://mail.python.org/mailman/listinfo/python-list
Re: Why do these statements evaluate the way they do?
Anthony Papillion wrote: > I'm trying to figure out why the following statements evaluate the way > they do and I'm not grasping it for some reason. I'm hoping someone can > help me. > > 40+2 is 42 #evaluates to True > But > 2**32 is 2**32 #evaluates to False > > This is an example taken from a Microsoft blog on the topic. They say the > reason is because the return is based on identity and not value but, to > me, these statements are fairly equal. > > Can someone clue me in? > > Anthony The *is* operator tests for identity, that is whether the objects on either side of the operator are the same object. CPython caches ints in the range -5 to 256 as an optimisation, so ints in this range are always the same object, and so the is operator returns True. Outside this range, a new int is created as required, and comparisons using is return False. This can be seen by looking at the id of the ints: Python 3.5.1 (default, Dec 29 2015, 10:53:52) [GCC 4.8.3 20140627 [gcc-4_8-branch revision 212064]] on linux Type "help", "copyright", "credits" or "license" for more information. >>> a = 42 >>> b = 42 >>> a is b True >>> id(a) 9186720 >>> id(b) 9186720 >>> c = 2 ** 32 >>> d = 2 ** 32 >>> c is d False >>> id(c) 140483107705136 >>> id(d) 140483107705168 -- https://mail.python.org/mailman/listinfo/python-list
Re: gotta love radio buttons
eneskri...@gmail.com wrote: > So, I'm having this radio button issue in tkinter: > First I assign the IntVar: > var = [] > while i < self.something: > var.append(IntVar()) > i += 2 > Later on I use them, but I get this error: > for r in var: > helper = var[r].get() > self.something_else[helper] += 1 > Then, this happens: > Traceback (most recent call last): > File "F:\Portable Python 3.2.5.1\App\lib\tkinter\__init__.py", line > 1456, in __call__ > return self.func(*args) > File "(Not giving this)", line 26, in submit_data > helper = var[r].get() > TypeError: list indices must be integers, not IntVar > I'm willing to give additional info. Thank you in advance. (untested) for r in var: helper = var[r.get()] I think you need to call get on the IntVar instance to get an int that can be used to index the list. -- https://mail.python.org/mailman/listinfo/python-list
Re: Help needed with compiling python
Cecil Westerhof wrote: > On Thursday 26 Nov 2015 09:29 CET, Steven D'Aprano wrote: > >> On Thursday 26 November 2015 18:00, Cecil Westerhof wrote: >> >>> On Wednesday 25 Nov 2015 23:58 CET, Laura Creighton wrote: >>> >>>> In a message of Wed, 25 Nov 2015 22:52:23 +0100, Cecil Westerhof >>>> writes: >>>>> >>>>> My system python was all-ready damaged: that is why I wanted to >>>>> build myself. >>>> >>>> Your Suse system probably wants to use python for something. If >>>> your system python is damaged, you badly need to fix that, using >>>> the system package managers tools, before Suse does some sort of >>>> update on you, using the broken python, which damages more of your >>>> system. >>> >>> I tried that. But it installs only things in /usr/lib and >>> /usr/lib64, nothing in /usr/bin, but at the same time it is adamant >>> that it installed python. I wanted a quick fix, but it looks like >>> that is not going to work. :'-( I'll have to find a way to get >>> things fixed. >>> >> >> On the assumption that you are more interested in fixing your broken >> system than learning how to compile Python, what happens if you use >> the Suse package manager to re-install Python? >> >> e.g. zypper python > > It installs things in /usr/lib and /usr/lib64, but nothing in > /usr/bin. So it installs libraries, but not programs. > > > By the way: I am of-course most interested to fix my system, but I > would not mind to have python compiled also, so I (can) work with the > latest stable version. ;-) > FWIW, I'm running OpenSuse 13.2 on a number of machines. Pythons built with make altinstall have the python executable placed in /usr/local/bin. e.g.: kev@pluto ~ which python3.5 /usr/local/bin/python3.5 kev@pluto ~ which python2.7 /usr/local/bin/python2.7 NB due to http://bugs.python.org/issue15631 I find I have to symlink lib-dynload to get a working python: kev@pluto ~ ls -l /usr/local/lib/python3.5/lib-dynload lrwxrwxrwx 1 root root 38 Sep 26 19:51 /usr/local/lib/python3.5/lib-dynload -> /usr/local/lib64/python3.5/lib-dynload Having said that, I'd still recommend that you follow everyone else's advice and fix your system python/rebuild your OS. Opensuse has not attempted to install python 2.7.9 on any of my (fully patched) machines, so something is wrong with your install, unless you're using Tumbleweed. Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Google Maps and Python: creating a map, embedding it, adding images, videos, markers, using python
Veek M wrote: > I'm messing with Google-Maps. Is there a way I can create a map, embed it > on a page (CSS/HTML/Javascript for this bit), and add images, videos, > markers - using python? Any libraries available? Hello, Googling for "google maps python client" returns https://developers.google.com/api-client-library/python/apis/mapsengine/v1 as the first result... HTH Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: OSError: [WinError 10022] An invalid argument was supplied in udp python file
contro opinion wrote: > When i test an udp.py file on server and client in python34. > > > #!/usr/bin/env python > import socket, sys > s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) > MAX = 65535 > PORT = 1060 > if sys.argv[1:] == ['server']: > s.bind(('127.0.0.1', PORT)) > print('Listening at', s.getsockname()) > while True: > data, address = s.recvfrom(MAX) > print('The client at', address, 'says', repr(data)) > s.sendto('Your data was %d bytes' % len(data), address) > elif sys.argv[1:] == ['client']: > print('Address before sending:',s.getsockname()) > s.sendto('This is my message',('127.0.0.1', PORT)) > print('Address after sending',s.getsockname()) > data, address = s.recvfrom(MAX) > print('The server', address, 'says', repr(data)) > else: > print('usage: udp_local.py server|client') > > > The command `python udp.py server` get output: > Listening at ('127.0.0.1', 1060) > > Why `python udp.py client` run failure: > > Traceback (most recent call last): > File "d://udp.py", line 15, in > print('Address before sending:', s.getsockname()) > OSError: [WinError 10022] An invalid argument was supplied Hello, According to http://stackoverflow.com/questions/15638214/socket-error-invalid-argument-supplied, the client socket doesn't have an address at time when you call s.getsocketname. This raises an exception on Windows. Removing the 'Address before sending' line will prevent the error. As you're using Python3, you'll find that passing strings to s.sendto raises a TypeError; you'll need to encode the strings as bytes. Hope that helps, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: lxml objectify - attribute elements to list.
Sayth Renshaw wrote: > > Hi > > How can I actually access the values of an element with lxml objectify? > > for example if I had this element in my xml file. > > VenueCode="151" TrackName="Main" TrackCode="149"> > > I can see all the attributes using this. > > In [86]: for child in root.getchildren(): > print(child.attrib) >: > {} > {'RequestCode': '', 'RequestId': '0'} > {} > {} > ... > {} > {} > {} > {'Category': 'Metro', 'AbrClubDesc': 'VRC', 'State': 'VIC', 'ClubCode': > {'10018', 'Title': 'Victoria Racing Club'} 'TrackName': 'Main', > {'VenueName': 'Flemington', 'TrackCode': '149', 'VenueAbbr': 'FLEM', > {'VenueDesc': 'Flemington', 'VenueCode': '151'} } } > ... > > Trying to access by attribs isn't working or me. > > In [90]: names = [p.text for p in root.Track.attrib['VenueName']] > ------- > AttributeErrorTraceback (most recent call > last) in () > > 1 names = [p.text for p in root.Track.attrib['VenueName']] > > AttributeError: 'str' object has no attribute 'text' > > > What am I missing with this? > > Thanks > > Sayth Hello Is this what you're trying to do? (tmp-179b92275909243d)kev@pluto ~/virtual-envs/tmp-179b92275909243d python Python 3.4.1 (default, May 23 2014, 17:48:28) [GCC] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from lxml import objectify >>> root = objectify.fromstring('') >>> root.Track '' >>> root >>> for child in root.getchildren(): ... print(child.attrib) ... {'VenueCode': '151', 'TrackCode': '149', 'VenueName': 'Flemington', 'VenueDesc': 'Flemington', 'TrackName': 'Main', 'VenueAbbr': 'FLEM'} >>> for child in root.getchildren(): ... print(child.get('VenueName')) ... Flemington >>> Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Google app engine database
glenn.a.is...@gmail.com wrote: > Is there a way to make sure that whenever you're making google engine app > iterations to a database that that info does not get wiped/deleted. > Please advise It's not clear what you mean here; I'll guess that by "iterations" you mean "changes" by "database" you mean the db or ndb datastore and by "info" you mean "data stored in the datastore". Apologies if this isn't so. Appengine doesn't document any migration utilities to handle changes in your datastore schema, so you need to manage the effects of such changes yourself. To ensure that you do not lose data when changing your model code, avoid making destructive changes to your models, i.e. - don't delete properties from a model - don't rename properties on a model If you must make these changes for some reason, you'll need to migrate the data somehow. In my experience with Appengine, data is not actaully lost if you make destructive changes to your models, it becomes inaccessible becuae the property names it was stored under no longer exist on the model. In theory you could access the data by adding the proprties back to the model or (maybe) by loading a different model definition in the remote shell, but this is not something that you would want to rely on in a production environment. tl,dr: it's ok to add new properties to you models, but don't remove or rename properties. Hope that helps, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: extract from json
teddyb...@gmail.com wrote: > I can't find any example on how to do this. > I have a json file like so: > {"bostock": [{"url":"http://bl.ocks.org/mbostock/9360565","title":"titleplaceholder","date":"dateplaceholder"}, > {"url":"http://bl.ocks.org/mbostock/9265674","title":"titleplaceholder","date":"dateplaceholder"}, > {"url":"http://bl.ocks.org/mbostock/9265467","title":"titleplaceholder","date":"dateplaceholder"}, > {"url":"http://bl.ocks.org/mbostock/9234731","title":"titleplaceholder","date":"dateplaceholder"}, > {"url":"http://bl.ocks.org/mbostock/9232962","title":"titleplaceholder","date":"dateplaceholder"}, > > this goes on for more than 700 entries. only thing unique is the number at > the end of the url. I am going to load the url in python, get the date and > title and write it in the json itself. Right now I am stuck on just > reading the url in the json. Here is my code: > > import json > > with open("bostock.json") as json_file: > json_data = json.load(json_file) > print(json_data) > > I have tried json_data[0], json_data.url and a few others I forget right > now and it does not seem to work. > > I have already figured out how to get the title and date. > First things first: How can i just get the url for each line of the above > json file? Hello Try: Python 2.7.2 (default, Aug 19 2011, 20:41:43) [GCC] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import json >>> with open('/tmp/bostock.json') as f: ... json_data = json.load(f) ... >>> json_data {u'bostock': [{u'url': u'http://bl.ocks.org/mbostock/9360565', u'date': u'dateplaceholder', u'title': u'titleplaceholder'}, {u'url': u'http://bl.ocks.org/mbostock/9265674', u'date': u'dateplaceholder', u'title': u'titleplaceholder'}, {u'url': u'http://bl.ocks.org/mbostock/9265467', u'date': u'dateplaceholder', u'title': u'titleplaceholder'}, {u'url': u'http://bl.ocks.org/mbostock/9234731', u'date': u'dateplaceholder', u'title': u'titleplaceholder'}, {u'url': u'http://bl.ocks.org/mbostock/9232962', u'date': u'dateplaceholder', u'title': u'titleplaceholder'}]} >>> urls = [x['url'] for x in json_data['bostock']] >>> urls [u'http://bl.ocks.org/mbostock/9360565', u'http://bl.ocks.org/mbostock/9265674', u'http://bl.ocks.org/mbostock/9265467', u'http://bl.ocks.org/mbostock/9234731', u'http://bl.ocks.org/mbostock/9232962'] Python loads the json in the file into a dictionary. In this case, the dictionary has a single key, 'bostock', and the value in the dictionary for that key is a list (of dictionaries). To get the urls, you need to get the list json_data['bostock'] and then iterate over it's elements, getting the value for the key url for each one. This is what the list comprehension [x['url'] for x in json_data['bostock']] does. I hope that helps, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Sorting list alphabetically
Igor Korot wrote: > Hi, ALL, > I need to perform a subj. > Looking at the Google I found following thread with explanation: > > http://stackoverflow.com/questions/36139/how-do-i-sort-a-list-of-strings- in-python > > However, doing this in my python shell produces an error: > > C:\Documents and Settings\Igor.FORDANWORK\My > Documents\GitHub\webapp>python Python 2.7.5 (default, May 15 2013, > 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 > Type "help", "copyright", "credits" or "license" for more information. >>>> import locale >>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') > Traceback (most recent call last): > File "", line 1, in > File "c:\python27\lib\locale.py", line 547, in setlocale > return _setlocale(category, locale) > locale.Error: unsupported locale setting >>>> > > What is wrong with this? > > Thank you. Hello Igor, Windows maintains it's own names for locales, so you need to supply the Windows name if you're workong on Windows. You might find these links helpful: http://stackoverflow.com/questions/19709026/how-can-i-list-all-available- windows-locales-in-python-console https://mail.python.org/pipermail/python-list/2009-February/525427.html Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Sorting list alphabetically
Terry Reedy wrote: > On 4/27/2014 6:40 AM, Kev Dwyer wrote: >> Igor Korot wrote: >> >>> Hi, ALL, >>> I need to perform a subj. >>> Looking at the Google I found following thread with explanation: >>> >>> http://stackoverflow.com/questions/36139/how-do-i-sort-a-list-of- strings- >> in-python >>> >>> However, doing this in my python shell produces an error: >>> >>> C:\Documents and Settings\Igor.FORDANWORK\My >>> Documents\GitHub\webapp>python Python 2.7.5 (default, May 15 2013, >>> 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 >>> Type "help", "copyright", "credits" or "license" for more information. >>>>>> import locale >>>>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') >>> Traceback (most recent call last): >>>File "", line 1, in >>>File "c:\python27\lib\locale.py", line 547, in setlocale >>> return _setlocale(category, locale) >>> locale.Error: unsupported locale setting >>>>>> >>> >>> What is wrong with this? >>> >>> Thank you. >> >> >> Hello Igor, >> >> Windows maintains it's own names for locales, so you need to >> supply the Windows name if you're workong on Windows. >> >> You might find these links helpful: >> >> http://stackoverflow.com/questions/19709026/how-can-i-list-all-available- >> windows-locales-in-python-console > > This one says to look at locale.locala_alias, but that is not helpful. > > >>> for k, v in la.items(): > if v.startswith ('en') and 'UTF' in v: > print(k, " # ", v) > > universal.utf8@ucs4 # en_US.UTF-8 > > But that local does not work on my machine. > > >>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') > Traceback (most recent call last): >File "", line 1, in > locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') >File "C:\Programs\Python34\lib\locale.py", line 592, in setlocale > return _setlocale(category, locale) > locale.Error: unsupported locale setting > > locale.locale_alias must not be machine limited. > >> https://mail.python.org/pipermail/python-list/2009-February/525427.html > > This merely says to look at a now dead link. My mistake for not checking the link; this one works: http://msdn.microsoft.com/en-us/library/hzz3tw78 > Hello Terry, Regarding your second point, my mistake in not checking the link: I'd seen a similar one elsewhere and assumed they were the same. This link should work: http://msdn.microsoft.com/en-us/library/hzz3tw78 As to your first point, you're right, it seems setlocale(locale.LC_ALL, 'en_US.UTF-8') doesn't work on Windows. It seems the locale name needs to be one of the aliases provided at http://msdn.microsoft.com/en-us/library/39cwe7zf, so for example locale.setlocale(locale.LC_ALL, 'usa') returns 'English_United States.1252'. Do you know if this is something people programming on Windows should just be aware of, or is there a case for a hint of some kind in the locale module documentation? Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Sorting list alphabetically
Terry Reedy wrote: > On 4/28/2014 2:33 AM, Kev Dwyer wrote: > >> Hello Terry, >> >> Regarding your second point, my mistake in not checking the link: >> I'd seen a similar one elsewhere and assumed they were the same. >> >> This link should work: >> http://msdn.microsoft.com/en-us/library/hzz3tw78 >> >> >> As to your first point, you're right, it seems setlocale(locale.LC_ALL, >> 'en_US.UTF-8') doesn't work on Windows. > > From what I read of the link above and > http://msdn.microsoft.com/en-US/goglobal/bb896001.aspx > given therein, I am going to guess that .UTF-8 is not supported for any > language. > >> It seems the locale name needs to be one of the aliases provided >> at http://msdn.microsoft.com/en-us/library/39cwe7zf, so for example >> locale.setlocale(locale.LC_ALL, 'usa') returns >> 'English_United States.1252'. >> >> Do you know if this is something people programming on Windows >> should just be aware of, or is there a case for a hint of some >> kind in the locale module documentation? > > *Definitely the latter. Perhaps you could open an issue with a specific > suggestion. > Thanks! I'll try to write something up this weekend. -- https://mail.python.org/mailman/listinfo/python-list
Re: téléchaegement
peronin jean jacques wrote: > Bonjour > > Je rencontre des problèmes douverture de la console python . Jai donc > tout désinstallé. Je vous demande donc quelle version je dois installer à > partir > de votre site . Jutilise Windows 8-1 sur PC portable. > > Merci . Cordialement. Essayez pyt...@aful.org - python-list en francais si vous ne peut pas ecrire en anglais. (et excusez ma francais pauvre, s'il vous plait) Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: GAE environment differences
Robin Becker wrote: > On 01/05/2015 13:15, Chris Angelico wrote: >> On Fri, May 1, 2015 at 8:29 PM, Robin Becker wrote: >> >> >> Best thing to do is to ask the user to post the complete traceback. >> You might need to use "import os.path" but normally I would expect >> that not to be an issue. > > > >> jamesbynd said: >> >> here's a traceback: >> >> ``` >> #!python >> >> ImportError: No module named pwd >> (12 additional frame(s) were not displayed) >> ... >> File >> "/base/data/home/apps/e~yt-maggi-2015- eu/testing.383971015313322618/vendor/xhtml2pdf/context.py", >> line 5, in >> from reportlab.lib.styles import ParagraphStyle >> File >> "/base/data/home/apps/e~yt-maggi-2015- eu/testing.383971015313322618/vendor/reportlab/lib/styles.py", >> line 28, in >> from reportlab.rl_config import canvas_basefontname as _baseFontName, >> baseUnderlineProportion as _baseUnderlineProportion >> File >> "/base/data/home/apps/e~yt-maggi-2015- eu/testing.383971015313322618/vendor/reportlab/rl_config.py", >> line 131, in > ule> >> _startUp() >> File >> "/base/data/home/apps/e~yt-maggi-2015- eu/testing.383971015313322618/vendor/reportlab/rl_config.py", >> line 99, in _startUp >> d = os.path.expanduser(d) #appengine fails with KeyError >> File "python2.7/posixpath.py", line 268, in expanduser >> import pwd >> ``` > the user suggests that even though claims are made that you can use a > filesystem, but stuff like pwd is missing. Apparently the user module has > no meaning, but there is a users module? I guess I'll need to keep > patching reportlab when GAE users find these glitches. For what it's worth, we use reportlab on GAE to generate a simple pdf and the above error is the only one that I've encountered. For us it was enough to trap the ImportError. Thanks for all your work on reportlab, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: SSL Socket Error
shdwkee...@gmail.com wrote: > Ive setup a Debian server with Python 2.7.9. Have everything running and > SSL as well, but when I try and login to using HTTPS:// I get this error: > > Incoming web connection from ('192.168.15.177', 53202) > error: uncaptured python exception, closing channel listening :8111 at 0x75ea7b48> (:certfile must be specified for > server-side operations [/usr/lib/python2.7/asyncore.py|read|83] > [/usr/lib/python2.7/asyncore.py|handle_read_event|443] > [./alarmserver.py|handle_accept|456] > [/usr/lib/python2.7/ssl.py|wrap_socket|891] > [/usr/lib/python2.7/ssl.py|init|498]) > > Any ideas how to resolve? It looks like the exception is coming up through alarmserver.py, which seems to be based on https://github.com/juggie/AlarmServer (I'm not entirely certain because the line numbers don't seem to match). Anyway, looking at the code for alarmserver.py it expects to find certificate paths defined in its config file, but they are undefined. The sample config file for the project includes this section: ## The server runs with SSL. You need a certificate and key ## server.crt and server.key are included but you should ## generate your own. ## If left blank the default included cert/key will be used #certfile=/etc/apache2/ssl/server.crt #keyfile=/etc/apache2/ssl/server.key certfile= keyfile= So I think you need to start by examining the config file on your server. Good luck, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: mutual coaching
adham...@gmail.com wrote: > hello anyone wants to study python? we can learn together! pm me my name > is adham128 iam at the #programming room Welcome to Python! To improve your chances of finding someone who wants to learn with you, you might try posting your message in the Python Tutor list too: https://mail.python.org/mailman/listinfo/tutor Good luck! Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: No Content-Length header, nor length property
zljubi...@gmail.com wrote: > Hi, > > if I put the link in the browser, I will be offered to save the file to > the local disk. > > If I execute these few lines of code, I will get None: > > import urllib.request > > url = 'http://radio.hrt.hr/prvi-program/aod/download/118467/' > site = urllib.request.urlopen(url) > print('File size:', site.length) > > Why I can't get the size of this particular file? > On other servers, the same procedure would return file size in bytes, but > not for this file? > > Does it depend on server itself, or there is a way to get remote file size > before downloading? > > Regards. Hello, urlopen returns an HttpResponse object(https://docs.python.org/3/library/http.client.html#httpresponse-objects). You need to call read() on the return value to get the page content, or you could consider the getheader method to check for a Content- Length header. Hope that helps, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: No Content-Length header, nor length property
zljubi...@gmail.com wrote: > > >> Hello, >> >> urlopen returns an HttpResponse >> object(https://docs.python.org/3/library/http.client.html#httpresponse-objects). >> You need to call read() on the return value to get the page content, or >> you could consider the getheader method to check for a Content- Length >> header. >> >> Hope that helps, >> >> Kev > > Kev, did you mean? > > import urllib.request > > url = 'http://radio.hrt.hr/prvi-program/aod/download/118467/' > site = urllib.request.urlopen(url) > > print( site.getheader('Content-Length'))# None > x = site.read(1)# No 'Content-Length' header > > print('File size:', site.length) > > I am still not getting anywhere. :( > > Regards. Ah - looking at the response headers, they include "Transfer-Encoding chunked" - I don't think urlopen handles chunked responses by default, though I could be wrong, I don't have time to check the docs right now. The requests library (https://pypi.python.org/pypi/requests) seems to handle them - http://docs.python-requests.org/en/latest/user/advanced/#chunk-encoded-requests -- https://mail.python.org/mailman/listinfo/python-list
Re: Cannot create a virtualenv
paul.hermeneu...@gmail.com wrote: > - I downloaded and installed Python 3.5 64-bit onto a Windows 7 64-bit > machine. - Using `pip install virtualenv` worked fine. > - Now, it is time to create a virtualenv, but it is not working fine. > - I had to add Python 3.5 to the PATH. > - Any suggestions? > > C:\ve>virtualenv -p "\Program Files\Python 3.5\python.exe" ve33 > Running virtualenv with interpreter C:\Program Files\Python 3.5\python.exe > Using base prefix 'C:\\Program Files\\Python 3.5' > New python executable in ve33\Scripts\python.exe > Installing setuptools, pip, wheel... > Complete output from command C:\ve\ve33\Scripts\python.exe -c > "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel: > Ignoring indexes: https://pypi.python.org/simple > Collecting setuptools > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > The repository located at None is not a trusted or secure host and > is being ignored. If this repository is available via HTTPS it is > recommended to use HTTPS instead, otherwis > e you may silence this warning and allow it anyways with '--trusted-host > None'. > Could not find a version that satisfies the requirement setuptools > (from versions: ) > No matching distribution found for setuptools > > ...Installing setuptools, pip, wheel...done. > Traceback (most recent call last): > File "c:\program files\python 3.5\lib\site-packages\virtualenv.py", > line 2363, in > main() > File "c:\program files\python 3.5\lib\site-packages\virtualenv.py", > line 832, in main > symlink=options.symlink) > File "c:\program files\python 3.5\lib\site-packages\virtualenv.py", > line 1004, in create_environment > install_wheel(to_install, py_executable, search_dirs) > File "c:\program files\python 3.5\lib\site-packages\virtualenv.py", > line 969, in install_wheel > 'PIP_NO_INDEX': '1' > File "c:\program files\python 3.5\lib\site-packages\virtualenv.py", > line 910, in call_subprocess > % (cmd_desc, proc.returncode)) > OSError: Command C:\ve\ve33\Scripts\python.exe -c "import sys, pip; > sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error > code 1 Have you tried using the venv module? https://docs.python.org/3/library/venv.html -- https://mail.python.org/mailman/listinfo/python-list
Re: PyPi bug?
Nagy László Zsolt wrote: > Today I have tried to register and upload a new package by executing > > setup.py register > > > I was asked if I want to save the creditentials in a .pypirc file and I > answered yes. > > Next I wanted to run > > setup.py upload > > and I got this error: > > > Traceback (most recent call last): > File "C:\Python\Projects\some_package\setup.py", line 15, in > classifiers=['Topic :: Security', 'Topic :: Internet :: WWW/HTTP'], > File "C:\Python35\lib\distutils\core.py", line 148, in setup > dist.run_commands() > File "C:\Python35\lib\distutils\dist.py", line 955, in run_commands > self.run_command(cmd) > File "C:\Python35\lib\distutils\dist.py", line 973, in run_command > cmd_obj.ensure_finalized() > File "C:\Python35\lib\distutils\cmd.py", line 107, in ensure_finalized > self.finalize_options() > File "C:\Python35\lib\distutils\command\upload.py", line 46, in > finalize_options > config = self._read_pypirc() > File "C:\Python35\lib\distutils\config.py", line 83, in _read_pypirc > current[key] = config.get(server, key) > File "C:\Python35\lib\configparser.py", line 798, in get > d) > File "C:\Python35\lib\configparser.py", line 396, in before_get > self._interpolate_some(parser, option, L, value, section, defaults, 1) > File "C:\Python35\lib\configparser.py", line 445, in _interpolate_some > "found: %r" % (rest,)) > configparser.InterpolationSyntaxError: '%' must be followed by '%' or > '(', found > : *' > > Instead of the many stars, of course there is the password. The problem > might be that the password contains a % character, and it was > incorrectly saved by distutils. > > Can somebody please confirm that this is a bug in distutils? The we > probably have to submit a bug report. > > Thanks, > >Laszlo Could be http://bugs.python.org/issue20120 ? -- https://mail.python.org/mailman/listinfo/python-list
Re: login: optional
John Bliss wrote: > Noob here: > > Started new Python project via Google AppEngine which produced project > files including: > > \app.yaml > > handlers: > - url: /.* > script: main.app > secure: always > > Currently, navigating to project root forces me to authenticate with > Google oAuth2 process. I'd like to turn that off so that I can navigate to > project root without authenticating. Per: > > https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Requiring_login_or_administrator_status > > ...I added: > > login: optional > > ...but that did not seem to make a difference. What am I doing wrong? Hello, I can't reproduce your problem on the dev server using this minimal setup: app.yaml application: test version: 1 runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: main.app secure: always login: optional main.py import webapp2 class IndexHandler(webapp2.RequestHandler): def get(self): self.response.write('Hello world!') app = webapp2.WSGIApplication([('/', IndexHandler)], debug=True) Are you sure that there's nothing in your code or environment that could be causing the authentication challenge? Cheers, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: Google Appengine Proxy Post method error
alextr...@googlemail.com wrote: > So I got the Labnol Google Appengine proxy but it can't handle the Post > method aka error 405. > > I need help adding this method to the script: > > mirror.py = http://pastebin.com/2zRsdi3U > > transform_content.py = http://pastebin.com/Fw7FCncA > > main.html = http://pastebin.com/HTBH3y5T > > All other files are just small files for appengine that don't carry > sufficient code for this. Hope you guys can help. > > Thanks in advance :) Hello, Very broadly speaking, you need to add a post method to the MirrorHandler class, and in that method: - mung the request in a similar fashion to the get method - avoid caching the request (POST requests are not idempotent) - forward the altered request to the destination server - return the response to the original client The labnol google-proxy githubpage lists a twitter account for support contact - http://twitter.com/labnol - so you could try asking there for more help. Also check the docs for webapp2 and and Google App Engine (http://developers.google.com/appengine). Have fun, Kev -- https://mail.python.org/mailman/listinfo/python-list
Re: parse html:what is the meaning of "//"?
alias wrote: > > > > Highlighted options are in-the-money. > (omit something) > there is only one difference between code1 and code2 : > in code1 is : tds=table.xpath("tr[@valign='top']//td") > in code2 is: tds=table.xpath("//tr[@valign='top']//td") > > i want to know why the "//" make output different? This is an XPATH question, not really Python-related. See http://www.w3schools.com/xpath/xpath_syntax.asp Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Fwd: os.statvfs bug or my incompetence ?
Peter G. Marczis wrote: Hello Peter, Welcome to the list. Have you tried calling statvfs from a C program? What happens if you do? Best regards, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Bug in multiprocessing.reduction?
Yaşar Arabacı wrote: > You can see my all code below, theoritically that code should work I > guess. But I keep getting this error: > [SUBWARNING/MainProcess] thread for sharing handles raised exception : > --- > Traceback (most recent call last): > File "/usr/lib/python2.7/multiprocessing/reduction.py", line 127, in > _serve send_handle(conn, handle_wanted, destination_pid) > File "/usr/lib/python2.7/multiprocessing/reduction.py", line 80, in > send_handle > _multiprocessing.sendfd(conn.fileno(), handle) > OSError: [Errno 9] Bad file descriptor > --- > > Do you see an error in my side, or is this a bug in Python? > Hello, I don't know much about the multiprocessing module, so I won't speculate about bugs ;) however I can tell you that your code works with error on my machine: kev@pluto:~> python mtest.py [DEBUG/MainProcess] created semlock with handle 140252275732480 [DEBUG/MainProcess] created semlock with handle 140252275728384 [DEBUG/MainProcess] created semlock with handle 140252275724288 [DEBUG/MainProcess] Queue._after_fork() [DEBUG/Process-1] Queue._after_fork() [INFO/Process-1] child process calling self.run() [DEBUG/Process-2] Queue._after_fork() [INFO/Process-2] child process calling self.run() [DEBUG/Process-3] Queue._after_fork() [INFO/Process-3] child process calling self.run() [DEBUG/Process-4] Queue._after_fork() [INFO/Process-4] child process calling self.run() [DEBUG/Process-5] Queue._after_fork() [INFO/Process-5] child process calling self.run() [DEBUG/MainProcess] starting listener and thread for sending handles [INFO/MainProcess] created temp directory /tmp/pymp-J3UxCe [DEBUG/MainProcess] Queue._start_thread() [DEBUG/MainProcess] doing self._thread.start() [DEBUG/MainProcess] starting thread to feed data to pipe [DEBUG/MainProcess] ... done self._thread.start() Here "Here" was added to your print line by me. Otherwise I ran your code as is, and sent the string "Hello world" to port 9090 from another console. Hope that helps, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: how to run python-script from the python promt? [absolute newbie]
nukeymusic wrote: > How can I load a python-script after starting python in the > interactive mode? > I tried with >>>>load 'myscript.py' >>>>myscript.py >>>>myscript > > but none of these works, so the only way I could work further until > now was copy/paste line per line of my python-script to the > interactive mode prompt > I do know how to run the script non-interactively, but what I want to > do is adding lines to the code I have written thus far in interactive > mode. > > thanks in advance > nukey Hello, You can make the code in your script available to the interpreter by typing import myscript (assuming that you are running the interpreter in the same directory that contains myscript.py) You can access functions, classes and other top-level objects in your script by prefixing their names with "myscript" and a dot (".") e.g. myscript.myfunc, myscript.MyClass, myscript.myvar You can't really edit your script in the interpreter, but you can edit and save in a text editor and then type reload(myscript) in the interpreter to refresh its version of the myscript code. N.B. when you import/reload your script the interpreter will immediately execute any code that is not enclosed in a function or class definition. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: About instance.name look up order
Prim wrote: > First, sorry about my poor english. > Put these in IPython under ubuntu. > - > class C: > def __init__(self): > self.x = 1 > def print(self): > print self.x > c = C() > c.x --> 1, so c.x mean a attr of c named 'x' > c.print() --> pirnt 1, so c.print mean a method of c named 'print' > - > class C: > def __init__(self): > self.x = 1 > def x(self): > print 'x method' > def y(self): > print 'y method' > c = C() > c.x --> 1 > c.x() --> TypeError: 'int' object is not callable > c.y --> bound method C.y > #Q1: instance.name will get the attr first, than method? > - > class C: > def x(self): > print 'x method' > def __getattr__(self, attr): > print 'in __getattr__ method' > return attr > c = C() > c.x --> print in __getattr__ method, then throw TypeError: 'str' > object is not callable > c.x() --> print in __getattr__ method, x method 2 lines > #Q2: why c.x would get a exception? > > t = c.x > t --> print in __getattr__ method, then throw TypeError: 'str' object > is not callable > t() --> print x method > t = c.x() --> print x method, t == None > #Q3 why t=c.x() and c.x() output different? > > #Q4, if when I define the class use property too, then instance.name > look up order would be? > > Thanks for your reply. Hello, Python always looks for attributes in the instance first, then in the class, and then in the class's superclasses. In your first example, by defining "x" in C.__init__ you are creating an instance attribute named "x". When the attribute c.x is requested, Python finds an attribute "x" in the instance and returns it; the method "x" is found in the class, but the attribute lookup does not proceed this far. Try looking at C.__dict__ and c.__dict__ in the interpreter to see how the attributes are stored. See also http://docs.python.org/reference/datamodel.html#customizing-attribute-access Cheers Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: problem:emulate it in python with mechanize
contro opinion wrote: > you can do it by hand , > 1.open > http://www.flvcd.com/' > 2.input > http://v.163.com/movie/2008/10/O/Q/M7F57SUCS_M7F5R3DOQ.html > 3.click submit > you can get > http://mov.bn.netease.com/movie/2012/1/V/7/S7MKQOBV7.flv > > i want to emulate it in python with mechanize,here is my code ,why i > can't get the right result: > http://mov.bn.netease.com/movie/2012/1/V/7/S7MKQOBV7.flv > > > > import mechanize > import cookielib > import lxml.html > br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; > rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] > br = mechanize.Browser() > br.set_handle_robots(False) > > r = br.open('http://www.flvcd.com/') > for f in br.forms(): > print f > br.select_form(nr=0) > br.form['kw']='http://v.163.com/movie/2008/10/O/Q/M7F57SUCS_M7F5R3DOQ.html' > print br.submit().read() > > why?? Hello, I think the page uses javascript to submit the form, so mechanize may not work with it directly. See http://stackoverflow.com/questions/3798550/python-mechanize-javascript- submit-button-problem for a similar problem and suggested workaround. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Interesting list() un-optimization
Roy Smith wrote: > I stumbled upon an interesting bit of trivia concerning lists and list > comprehensions today. > > We use mongoengine as a database model layer. A mongoengine query > returns an iterable object called a QuerySet. The "obvious" way to > create a list of the query results would be: > > my_objects = list(my_query_set) > > and, indeed, that works. But, then I found this code: > >my_objects = [obj for obj in my_query_set] > > which seemed a bit silly. I called over the guy who wrote it and asked > him why he didn't just write it using list(). I was astounded when it > turned out there's a good reason! > > Apparently, list() has an "optimization" where it calls len() on its > argument to try and discover the number of items it's going to put into > the list. Presumably, list() uses this information to pre-allocate the > right amount of memory the first time, without any resizing. If len() > fails, it falls back to just iterating and resizing as needed. > Normally, this would be a win. > > The problem is, QuerySets have a __len__() method. Calling it is a lot > faster than iterating over the whole query set and counting the items, > but it does result in an additional database query, which is a lot > slower than the list resizing! Writing the code as a list comprehension > prevents list() from trying to optimize when it shouldn't! Interesting discovery. Yet isn't this as much an issue with the mongoengine library as with list()? Queryset.count() can be called if the "length" of a resultset needs to be retrieved, so the __len__() methd seems redundant. And given that it's not unheard of to call list() on iterables, perhaps the library designers should either optimise the __len__() method, or document the performance implications of calling list on the queryset? Anyway, thanks for this thought-provoking post. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: splinter web browser simulator causing constant BSODs
matt.topolin...@gmail.com wrote: > Hello, > > I'm trying to torubleshoot this issue for a user I support. He is running > the splinter web browser simulator trough Google Chrome, and it appears to > be causing his workstation to constantly BSOD. > > His machine has the following hardware: > > Dual Xeon E5-2637 Processors > NVIDIA Quadro 600 - connected to 3 24" LCDs via displayport > 24GB DDR3 ECC RAM > Seagate ST2000DM001 2TB Data Drive > Crucial 512GB SSD CT5-CT512M4SSD1 Boot drive > Windows 7 x64 Enterprise > > We have experienced absolutely no BSODs when troubleshooting this machine > ourselves, however we're obviously not running the software he uses. We've > swapped out the motherboard and the video card, as the BSODs "suggest" an > issue related to the PCI bus. I think this script is somehow causing his > display driver to crash, or maybe the dual CPUs is an issue, but I don't > know much about Python. > > Does anyone have any experience with this? Any additional help would be > greatly appreciated. Hello, You might be better off asking at the splinter user list on Google Groups (https://groups.google.com/forum/?fromgroups#!forum/splinter-users). I expect they might like to see some sopecifics on the BSOD too. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Help with invoking standard mail app in windows
On Sat, 19 Dec 2009 04:56:34 +1100, Astan Chee wrote: > Hi, > I don't know if my last mail made it or not but here it is again. I'm > trying to launch standard mail app in windows and after looking around > most look like this: > > import urllib, webbrowser, win32api > def mailto_url(to=None,subject=None,body=None,cc=None): > """ > encodes the content as a mailto link as described on > http://www.faqs.org/rfcs/rfc2368.html """ > url = "mailto: " + urllib.quote(to.strip(),"@,") sep = "?" > if cc: > url+= sep + "cc=" + urllib.quote(cc,"@,") sep = "&" > if subject: > url+= sep + "subject=" + urllib.quote(subject,"") sep = "&" > if body: > # Also note that line breaks in the body of a message MUST be # > encoded with "%0D%0A". (RFC 2368) > body="\r\n".join(body.splitlines()) > url+= sep + "body=" + urllib.quote(body,"") sep = "&" > return url > > url = mailto_url(txtTo,txtSubject,body,txtCC) # > win32api.ShellExecute(0,'open',url,None,None,0) > webbrowser.open(url,new=1) > # os.startfile(url) > > all of these are having "WindowsError : [Error 5] Access is denied" > errors. I'm using windows xp and python 2.5. I have outlook 2007 > installed as a default mail client. Clicking on any mailto links in html > brings up the normal write mail from the mail client. Any ideas why this > is happening or how do I debug what access is being denied? Thanks for > any help > Astan Hello Astan, Your code executes without error for me on Win98 (!) with Python 2.5 or XP with Python 2.6. It would help people to help you if you could provide the *exact* console output from when you try to execute the code, *including* the traceback. That way we can work out which line of code is hitting the exception. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Help with invoking standard mail app in windows
On Sat, 19 Dec 2009 06:36:32 +1100, Astan Chee wrote: > Kev Dwyer wrote: >> Hello Astan, >> >> Your code executes without error for me on Win98 (!) with Python 2.5 or >> XP with Python 2.6. >> >> It would help people to help you if you could provide the *exact* >> console output from when you try to execute the code, *including* the >> traceback. That way we can work out which line of code is hitting the >> exception. >> >> Cheers, >> >> Kev >> >> > Hi, > My mistake. The length of body is over 1400 characters. Here is my > updated code and result: > > import urllib, webbrowser, win32api > def mailto_url(to=None,subject=None,body=None,cc=None): > """ > encodes the content as a mailto link as described on > http://www.faqs.org/rfcs/rfc2368.html """ url = "mailto: " + > urllib.quote(to.strip(),"@,") sep = "?" > if cc: > url+= sep + "cc=" + urllib.quote(cc,"@,") sep = "&" > if subject: > url+= sep + "subject=" + urllib.quote(subject,"") sep = "&" > if body: > # Also note that line breaks in the body of a message MUST be # > encoded with "%0D%0A". (RFC 2368) > body="\r\n".join(body.splitlines()) > url+= sep + "body=" + urllib.quote(body,"") sep = "&" > return url > > txtTo = "t...@com.com" > txtSubject = "Test Subject" > body = "Test body" > for t in range(278): > body+="test " > txtCC = "cc_t...@com.com" > > url = mailto_url(txtTo,txtSubject,body,txtCC) > #win32api.ShellExecute(0,'open',url,None,None,0) > webbrowser.open(url,new=1) > # os.startfile(url) > > result: > > Traceback (most recent call last): > File "C:/stanc_home/python/mail_test.py", line 32, in > webbrowser.open(url,new=1) > File "C:\Python25\lib\webbrowser.py", line 61, in open > if browser.open(url, new, autoraise): > File "C:\Python25\lib\webbrowser.py", line 518, in open > os.startfile(url) > WindowsError: [Error 5] Access is denied: 'mailto: > t...@com.com?cc=cc_test@com.com&subject=Test%20Subject&body=Test% 20bodytest%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20t > est%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20te > st%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20tes > t%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test %20test%20test%20test%20test%20test%20test%20test%20test%20test%20test% 20test%20test%20test%20test%20test%20test%20test > %20test%20test%20test%20test%20test%20' > > Is there some sort of limitation here? If I shorten the string, it works > fine. You're right, but I'm wondering if there is a way to go around > this limitation. > Thanks again > Cheers > Astan Hmmm. For me, body < 1400 opens an outlook message form, body > 1400 opens IE7. No time to look into this right now, but perhaps this is a windows thing. Don't know why you get windowserror, perhaps permissions??? I'll try and look again later/tomorrow. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Help with invoking standard mail app in windows
On Sat, 19 Dec 2009 06:36:32 +1100, Astan Chee wrote: > Kev Dwyer wrote: >> Hello Astan, >> >> Your code executes without error for me on Win98 (!) with Python 2.5 or >> XP with Python 2.6. >> >> It would help people to help you if you could provide the *exact* >> console output from when you try to execute the code, *including* the >> traceback. That way we can work out which line of code is hitting the >> exception. >> >> Cheers, >> >> Kev >> >> > Hi, > My mistake. The length of body is over 1400 characters. Here is my > updated code and result: > > import urllib, webbrowser, win32api > def mailto_url(to=None,subject=None,body=None,cc=None): > """ > encodes the content as a mailto link as described on > http://www.faqs.org/rfcs/rfc2368.html """ url = "mailto: " + > urllib.quote(to.strip(),"@,") sep = "?" > if cc: > url+= sep + "cc=" + urllib.quote(cc,"@,") sep = "&" > if subject: > url+= sep + "subject=" + urllib.quote(subject,"") sep = "&" > if body: > # Also note that line breaks in the body of a message MUST be # > encoded with "%0D%0A". (RFC 2368) > body="\r\n".join(body.splitlines()) > url+= sep + "body=" + urllib.quote(body,"") sep = "&" > return url > > txtTo = "t...@com.com" > txtSubject = "Test Subject" > body = "Test body" > for t in range(278): > body+="test " > txtCC = "cc_t...@com.com" > > url = mailto_url(txtTo,txtSubject,body,txtCC) > #win32api.ShellExecute(0,'open',url,None,None,0) > webbrowser.open(url,new=1) > # os.startfile(url) > > result: > > Traceback (most recent call last): > File "C:/stanc_home/python/mail_test.py", line 32, in > webbrowser.open(url,new=1) > File "C:\Python25\lib\webbrowser.py", line 61, in open > if browser.open(url, new, autoraise): > File "C:\Python25\lib\webbrowser.py", line 518, in open > os.startfile(url) > WindowsError: [Error 5] Access is denied: 'mailto: > t...@com.com?cc=cc_test@com.com&subject=Test%20Subject&body=Test% > > Is there some sort of limitation here? If I shorten the string, it works > fine. You're right, but I'm wondering if there is a way to go around > this limitation. > Thanks again > Cheers > Astan Hello Astan, After a bit of experimentation I find I get the same problem on XP using 2.6 for len(body) > 1973, using the os.startfile method. Some light googling suggests this is probably a limit within Outlook itself. If you just want a way to start Outlook programmatically you may be able to work around this by automating Outlook - try googling python outlook automation. If you want to start a default mail client on any machine using the mailto protocol then you'll have to limit the size of your message bodies. You may find that other mail clients have limits too - I doubt that any client (or browser) will accept urls of unlimited size. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Importing bitly.py in twitter-gedit.py
On Thu, 31 Dec 2009 10:28:55 +0530, Vikash Dhankar wrote: > Hi, > I am newbie in the python, I am stuck into a small problem. > > Me and my friend are working on the gedit based Twitter plugin. > http://code.google.com/p/gedit-twitter-plugin/ > > Now I want to add the tiny URL thing into this. I am using the bitly API > for this. > Its is already available in the python bitly.py > http://code.google.com/p/python-bitly/ > > now i want to use this bitly.py into the main file ( importing the > bitly.py to the twitter_gedit.py) . > > One thing more, bitly.py uses the django.utils so you can download that > from http://www.djangoproject.com/download/ > > Thanks. its open Hello Vikash, Perhaps you could tell exactly what the problem is? Best regards, Kevin -- http://mail.python.org/mailman/listinfo/python-list
Re: Python Will Not Send Email!!
On Thu, 19 Nov 2009 11:28:37 -0400, Victor Subervi wrote: Hello Victor, There are some pages on the internet that suggest that this problem my be caused by a module named email.py (or email.pyc) in your pythonpath. If you try import smtplib in the interpreter do you get this error message? If so, start a new interpreter session and try import email - is the email module imported from the stdlib? If these steps don't help, it might be useful if you can tell us which Linux distribution you are using. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Python Will Not Send Email!!
On Fri, 20 Nov 2009 07:58:55 -0500, Victor Subervi wrote: > On Thu, Nov 19, 2009 at 5:01 PM, Kev Dwyer > wrote: > >> On Thu, 19 Nov 2009 11:28:37 -0400, Victor Subervi wrote: >> >> Hello Victor, >> >> There are some pages on the internet that suggest that this problem my >> be caused by a module named email.py (or email.pyc) in your pythonpath. >> If you try import smtplib in the interpreter do you get this error >> message? If so, start a new interpreter session and try import email - >> is the email module imported from the stdlib? >> >> > Both of these import just fine. > > >> If these steps don't help, it might be useful if you can tell us which >> Linux distribution you are using. >> >> > Python 2.4.3 > [r...@13gems ~]# uname -a > Linux 13gems.com.13gems.com 2.6.18-028stab064.8 #1 SMP Fri Nov 6 > 11:28:25 MSK 2009 x86_64 x86_64 x86_64 GNU/Linux CentOS 5.4 final > TIA, > V > On Thu, Nov 19, 2009 at 5:01 PM, Kev Dwyer > < href="mailto:kevin.p.dw...@gmail.com";>kevin.p.dw...@gmail.com> > wrote: On Thu, 19 Nov 2009 > 11:28:37 -0400, Victor Subervi wrote: > Hello Victor, > > There are some pages on the internet that suggest that this problem my > be caused by a module named email.py (or email.pyc) in your > pythonpath. If you try import smtplib in the interpreter do you get > this error message? If so, start a new interpreter session and try > import email - is the email module imported from the > stdlib?Both of these import just > fine. > If these steps don't help, it might be useful if you can tell us > which Linux distribution you are > using.Python > 2.4.3[r...@13gems ~]# uname -aLinux href="http://13gems.com.13gems.com";>13gems.com.13gems.com > 2.6.18-028stab064.8 #1 SMP Fri Nov 6 11:28:25 MSK 2009 x86_64 x86_64 > x86_64 GNU/Linux CentOS 5.4 > finalTIA,V Hello Victor, I ran your script on a CentOS vm (5.2 server 32bit, not quite the same as yours but also running python 2.4.3). It ran without error. So I suspect that either you have a rogue email module/package on your machine or there's something wrong with the python install. You could try: import email email.__version__ My interpreter responds "3.0.1" If you get a different response that suggests a dodgy module somewhere - try email.__file__ and see where it's located (my interpreter returns /usr/lib/python2.4/email/__init__.pyc). If the version number is "3.0.1" on your machine then I would check the contents of /usr/lib64/python2.4/email/. Perhaps the base64MIME module is missing. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Python Will Not Send Email!!
On Fri, 20 Nov 2009 11:58:00 -0400, Victor Subervi wrote: Hello Victor, Carsten's well-specified instruction has identified your problem. >[r...@13gems globalsolutionsgroup.vi]# python -c "import email; print >email" > There is a file named email.pyc, most likely in your current directory, that is masking the email package in the standard library. Remove/rename email.pyc and email.py, if it exists. Cheers, Kevin -- http://mail.python.org/mailman/listinfo/python-list
Re: Problem w/ smtplib
On Sat, 21 Nov 2009 08:19:52 -0500, Victor Subervi wrote: Hello Victor, The information that you have sent comes from the client side of the transaction, so it isn't possible to tell why the server disconnected. Assuming that there is an SMTP server listening on port 25, you need to check the SMTP server logs. You might need to crank up the logging to get useful output. If the information that you pasted in comes from a Django traceback then you could check the Django page on e-mail at http://docs.djangoproject.com/en/dev/topics/email/#topics-email (dev version, you might need to view an older version). Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Problem w/ smtplib
2009/11/21 Victor Subervi > On Sat, Nov 21, 2009 at 12:04 PM, Kev Dwyer wrote: > >> On Sat, 21 Nov 2009 08:19:52 -0500, Victor Subervi wrote: >> >> Hello Victor, >> >> The information that you have sent comes from the client side of the >> transaction, so it isn't possible to tell why the server disconnected. >> Assuming that there is an SMTP server listening on port 25, you need to >> check the SMTP server logs. > > > There wasn't anything in /var/log/maillog. Is that where I should have > checked? > > >> You might need to crank up the logging to >> get useful output. >> > > How? > Look at the output below: > > [r...@13gems stcroixresort]# netstat -tulp > Active Internet connections (only servers) > Proto Recv-Q Send-Q Local Address Foreign Address > State PID/Program name > tcp0 0 *:mysql *:* > LISTEN 24488/mysqld > tcp0 0 *:pop3 *:* > LISTEN 5278/tcpserver > tcp0 0 *:ftp *:* > LISTEN 26564/vsftpd > tcp0 0 localhost.localdomai:domain *:* > LISTEN 11845/named > tcp0 0 *:smtp *:* > LISTEN 5274/tcpserver > tcp0 0 localhost.localdomain:rndc *:* > LISTEN 11845/named > tcp0 0 *:http *:* > LISTEN 5201/httpd > tcp0 0 localhost:domain*:* > LISTEN 11845/named > tcp0 0 *:ssh *:* > LISTEN 15509/sshd > tcp0 0 localhost:rndc *:* > LISTEN 11845/named > udp0 0 localhost.locald:domain > *:* 11845/named > udp0 0 localhost:domain > *:* 11845/named > [r...@13gems stcroixresort]# qmailctl stat > /service/qmail-send: up (pid 5266) 594565 seconds > /service/qmail-send/log: up (pid 5271) 594565 seconds > /service/qmail-smtpd: up (pid 5274) 594565 seconds > /service/qmail-smtpd/log: up (pid 5276) 594565 seconds > /service/qmail-pop3d: up (pid 5278) 594565 seconds > /service/qmail-pop3d/log: up (pid 5279) 594565 seconds > messages in queue: 0 > messages in queue but not yet preprocessed: 0 > > Please advise. > TIA, > V > Hello Victor, I'm afraid I don't know much about mail servers, you need to check the server docs or ask on a qmail mailing list. If you really think this is a python issue, then you could try: >>> import smtplib >>> server = smtplib.SMTP() >>> server.set_debuglevel(1) >>> server.connect() connect: ('localhost', 25) connect: (25, 'localhost') reply: '220 pluto.site ESMTP Postfix\r\n' reply: retcode (220); Msg: pluto.site ESMTP Postfix connect: pluto.site ESMTP Postfix (220, 'pluto.site ESMTP Postfix') >>> server.quit() send: 'quit\r\n' reply: '221 2.0.0 Bye\r\n' reply: retcode (221); Msg: 2.0.0 Bye (221, '2.0.0 Bye') and see if there are any error messages/tracebacks in the output; but if you still get a disconnect exception then it's unlikely that this is a python issue. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: "Nim" game being created, no GUI used... Need tips...
On Fri, 05 Feb 2010 21:54:48 -0600, Jordan Uchima wrote: Hello Jordan, You could try something like this (not tested, and maybe I don't quite "get" the rules): """ Nim game. In response to question on c.l.p. """ # Start with pot of thirteen pieces and two players. # Each player takes 1 - 4 pieces each turn. # Player who takes the last piece loses. # Declare constants. NUMBER_OF_PLAYERS = 2 TOTAL_PIECES_AT_START = 13 # Declare functions. def rules(): """Print the rules of the game.""" print 'Some rules' def get_players(): """Get the names of the players.""" # Let's put the player's names in a list. players = [] # Looping like this saves us repeating lines of code for each player. for player in range(NUMBER_OF_PLAYERS): name = raw_input("Hello Player %d, what is your name?\n" % player) players.append(player) return players def take_turn(player): """Handle a player's turn.""" # Turn logic goes here. # Left as an exercise :) the_remaining_number_of_pieces_after_this_turn = 1 return the_remaining_number_of_pieces_after_this_turn def main(): """Run the game.""" # Display the rules by calling rules function. rules() # Get the players by calling the get_players function. players = get_players() # Set up the game. remaining_pieces = TOTAL_PIECES_AT_START playing = True # Main loop - let's play! while playing: # Take turns. for player in players: remaining_pieces = take_turn(player) # Check if this player has lost. if remaining_pieces == 0: # Player has taken last piece. print 'Sorry %s, you have lost.' % player # Break out of the loop playing = False break # Automatically run main function if we're run as a script. if __name__ == '__main__': main() # End. The "while" loop in the main function runs the game until a winner (or loser in this case) is declared. The "for" loop within the while loop handles the alternation of turns. Have a look at the python tutorial at http://docs.python.org/tutorial/index.html for more on "while" and "for" statements. Use functions to break up the code into related sections. Check out the tutorial material for functions too. This skeleton should give you a starting structure for your program. Have fun :) Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Checking the coding style
On Sun, 07 Feb 2010 19:36:10 +0100, Pablo Recio Quijano wrote: > Hi! > > I'm finishing a project writen in Python, and I realize about the > document PEP8 - Style Guide for Python Code [1]. > > Is there any app or script that checks if my project pass that style > guide? I also worked with Drupal, and I know there is some modules and > scripts that checks its coding standars [2] and it's very usefull to > clean the code. > > Thanks in advance! > > [1] http://www.python.org/dev/peps/pep-0008/ [2] > http://drupal.org/coding-standards Hello Pablo, The pep8 package (http://pypi.python.org/pypi/pep8) can do this, though I have never used it myself. PyLint is a customisable static analysis program that checks style among other things. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Configuring apache to execute python scripts using mod_python handler
On Fri, 12 Feb 2010 13:08:59 -0400, Juan Carlos Rodriguez wrote: Hello Juan Carlos, You're better off raising this on the mod_python list, however... Python is looking for a module called mptest, and cannot find it. Have you created the mptest.py module? (It should contain the handler function in your item (2)). Is it on the python path used by the webserver? See for example the last post at http://forums.devshed.com/apache-development-15/installing-python-on-apache-42184.html which shows how you can set up the path. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.6 and modules dbi AND odbc
On Wed, 10 Mar 2010 16:17:29 -0800, robert somerville wrote: > hi; > i am trying to get some legacy python code (which i no nothing about) > working with tries to import dbi and odbc (the import fails ...) it > looks like these modules are deprecated ?? if so is there a work around > , if not deprecated, what am i doing wrong ?? i see no Ubuntu packages > that look promising .. Hello Robert, These modules are distributed as part of the PyWin32 Python for Windows extensions, so they need to run on a Windows box. They'll run fine there regardless of the deprecation of dbi (though "import dbi" will provide a useful warning message). Pyodbc is a possible alternative. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Is it possible to use re2 from Python?
On Sun, 14 Mar 2010 08:57:36 -0700, _wolf wrote: > > how can i use re2 from Python? > Hello Wolf, There's a recent thread about this on the python-dev list, Unfortunately it seems to suggest that there are no Python bindings at present. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Is it possible to use re2 from Python?
On Sun, 14 Mar 2010 14:40:34 -0700, _wolf wrote: >> There's a recent thread about this on the python-dev list, > > pointers? i searched but didn’t find anything. http://mail.python.org/pipermail/python-dev/2010-March/098354.html -- http://mail.python.org/mailman/listinfo/python-list
Re: If/then style question
On Thu, 16 Dec 2010 21:49:07 +, John Gordon wrote: > (This is mostly a style question, and perhaps one that has already been > discussed elsewhere. If so, a pointer to that discussion will be > appreciated!) > > When I started learning Python, I wrote a lot of methods that looked > like this: > > > def myMethod(self, arg1, arg2): > > if some_good_condition: > > if some_other_good_condition: > > if yet_another_good_condition: > > do_some_useful_stuff() > exitCode = good1 > > else: > exitCode = bad3 > > else: > exitCode = bad2 > > else: > exitCode = bad1 > > return exitCode > > Another way to look at this is as question of object-oriented style, as you are using a method in your example... Arguably, rather than branching your code based on the arguments being passed to your method, you can embody the required behaviour in subclasses of your class, and at runtime just use an object that "does the right thing". Of course, you end up writing the same branching in some factory object instead, but at least it isn't cluttering up your business logic any longer. Trying to write an OO-style program without using any if statements in the business logic can be an interesting exercise, albeit not a terribly realistic one. Apologies if your choice of a method for your example was entirely incidental to your question :) Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: **** httplib.InvalidURL: nonnumeric port ****
On Tue, 21 Dec 2010 00:01:44 +0530, Anurag Chourasia wrote: >>> import httplib >>> help(httplib.HTTP) Help on class HTTP in module httplib: class HTTP | Compatibility class with httplib.py from 1.5. | | Methods defined here: | | __init__(self, host='', port=None, strict=None) The constructor doesn't take a complete URL as an argument. Also, shouldn't you be using httplib.HTTPConnection? The docs state that httplib.HTTP is for backward compatibility only. Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: **** httplib.InvalidURL: nonnumeric port ****
On Tue, 21 Dec 2010 01:00:36 +0530, Anurag Chourasia wrote: Anurag, HTTPConnection takes a host and a port number as arguments, not just a URL. So you could construct your connection request like this: conn = httplib.HTTPConnection('joule', 8041) then use the request() method on the connection to make a PUT or GET request: conn.request('PUT', url, body, headers) Please read the documentation for the httplib module, and perhaps some basic material on how HTTP requests work. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: pyWin32 attempted installation; Error message: Skipping exchdapi: No library 'Ex2KSdk'
On Sat, 01 Jan 2011 20:53:47 -0800, marceepoo wrote: > I just downloaded pyWin32 (https://sourceforge.net/projects/pywin32/) > and started to install it. > > I get these error msgs: > > Skipping exchange: No library 'Ex2KSdk' Skipping exchdapi: No library > 'Ex2KSdk' Skipping directsound: The header 'dsound.h' can not be located > > Does anyone have any suggestions about how to address this? > > Thanks,Marceepoo Are you using the binary installer or building from source? Cf http://stackoverflow.com/questions/4476764/pywin32-support-trouble-while-building-syntax-error Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: question about pdb assignment statements
On Mon, 16 Aug 2010 08:17:20 -0700, Steve Ferg wrote: > In this little script: > > > import pdb > pdb.set_trace() > def main(): > xm = 123 > print("Hello,world!") > main() > > > When I run this, I use pdb to step through it until I reach the point in > main() where the xm variable has been initialized, and then I try to use > pdb to reset the value of xm, and I can't. > > Does anybody know why? > > As I understand the documentation, > http://docs.python.org/library/pdb.html I *should* be able to do this. > > [!]statement > Execute the (one-line) statement in the context of the current stack > frame. > > Is there something about "in the context of the current stack frame" > that I don't understand? Or is it a bug (or a limitation) in pdb? I think this may be the issue raised in bug 5215 (http://bugs.python.org/issue5215), committed in r71006. Displaying a changed variable using the "p" command reverts the variable to its previous value. If you try pdb.set_trace() def main(): xm = 123 print("Hello,world!") print xm and change xm before it's printed (but do not display using "p") it seems to work as expected. Hope that helps, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: question about pdb assignment statements
On Mon, 16 Aug 2010 08:17:20 -0700, Steve Ferg wrote: > In this little script: > > > import pdb > pdb.set_trace() > def main(): > xm = 123 > print("Hello,world!") > main() > > > When I run this, I use pdb to step through it until I reach the point in > main() where the xm variable has been initialized, and then I try to use > pdb to reset the value of xm, and I can't. > > Does anybody know why? > > As I understand the documentation, > http://docs.python.org/library/pdb.html I *should* be able to do this. > > [!]statement > Execute the (one-line) statement in the context of the current stack > frame. > > Is there something about "in the context of the current stack frame" > that I don't understand? Or is it a bug (or a limitation) in pdb? I should have added my version: Python 2.6.2 (r262:71600, Jun 17 2010, 13:37:45) [GCC 4.4.1 [gcc-4_4-branch revision 150839]] on linux2 -- http://mail.python.org/mailman/listinfo/python-list
Re: my recursive function call is wrong?
On Sun, 16 Aug 2009 16:57:41 +0900, Chang Min Jeon wrote: Hello, You have placed recursive calls to the function in a number of different locations; when len(macro) becomes zero control will return to the calling function, but this calling function may have more code to execute, including further calls to start_parse(), and further attempts to index macro. I like to keep recursive calls at the end of a function, so that there is a clean path back to the top level caller once the terminal condition is reached. You can do it differently, but you need to bear in mind the execution paths through your code. Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: XPath support?
On Sun, 16 Aug 2009 20:29:15 +, kj wrote: > I'm looking for a XML parser that produces an object with full XPath > support. What I've been using up to now, xml.etree.ElementTree, fails > to support Xpath predicates, as in "sp...@eggs='3']/ham". > > What I'm trying to do is to read-in a large XML string, and parse it > into an object from which I can extract nodes matching selectors that > include such predicates. > > Any suggestions would be greatly appreciated. > > TIA! > > kynn Have you tried lxml (http://codespeak.net/lxml/)? Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: logger module : Question about log message format
On Fri, 04 Sep 2009 12:34:32 +0100, jorma kala wrote: > Hi, > I've created a logger like this: > > > LOG_FILENAME = 'test.txt' > fh=logging.FileHandler(LOG_FILENAME,'w') logger1 = > logging.getLogger('myLogger1') logger1.addHandler(fh) > logger1.setLevel(logging.INFO) > logger1.info('message from logger1') > > and was hoping to get log messages in this format in my log file: > > :INFO:myLogger1:message from logger1 > > instead I just get a plain message like this: > > message from logger1 > > Do you know why? > > Many thanks. See http://docs.python.org/library/logging.html#formatter-objects Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: Making logging.getLogger() simpler
On Sun, 19 Sep 2010 02:35:15 +1000, Lie Ryan wrote: > I was expecting this to work: > > import logging > logger = logging.getLogger(__name__) > logger.warn('this is a warning') > > instead it produced the error: > > No handlers could be found for logger "__main__" > > > However, if instead I do: > > import logging > logging.warn('creating logger') > logger = logging.getLogger(__name__) > logger.warn('this is a warning') > > then it does work. > > Is there any reason why getLogger()-created logger shouldn't > automatically create a default handler? Hello Lie, Calling logging.warn(), or logging.debug() etc. before handlers have been assigned to the root logger will result in logging.basicConfig() being called automatically. By default a StreamHandler will be created on the root logger and your logger inherits the StreamHandler. So you can avoid the "No handlers..." warning by calling logging.basicConfig() before your program does any logging. I don't know why getLogger() doesn't so something similar when it's called. Perhaps so that the logger is explicitly initialised with basic, file or dictConfig? Cheers, Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: develop for Windows on GNU/Linux, using Python
On Sun, 19 Sep 2010 12:55:43 -0500, Default User wrote: > Consider: > > Can someone do development of programs for use on Windows systems, but > developed totally on a GNU/Linux system, using standard, contemporary 32 > and / or 64-bit PC hardware? > > This would be for someone who can not or will not use Windows, but wants > to create software for those who do. > > This might not include the use of VM for developing on GNU/Linux, as > that would seem to require a Windows installation disk, which the > developer may not be able or willing to obtain and use. > > Is the correct answer: > 1) no. > 2) yes. > 3) yes, a "Hello World" program will run just fine on the Windows Python > interpreter. > 4) other. Hello, The answer is "it depends", or 4 on your list of responses. You can write pure python on a Linux machine and it will run fine on Windows as long as you've taken care to program in a portable fashion. However, writing the code isn't everything. To be confident that your code is good you need to test it on a Windows box (we all test, right?). If you want to distribute your application to non-developers you'll need to wrap it in a Windows installer; if you have C-extensions in your code you'll need to compile them over Windows. If you want to program against the Windows API you'll need access to a Windows box. So, if you really want to develop code for Windows (or cross-platform code) I think you need to bite the bullet and get access to a Windows (virtual) machine. Cheers, Kev PS - You might be able to get away with using an emulator like WINE, but given the ubiquity of Windows in business/home computing I think you're better of testing on the real thing. -- http://mail.python.org/mailman/listinfo/python-list
Re: Simple logging example doesn't work!
On Mon, 18 Oct 2010 11:52:36 -0700, robinsieb...@gmail.com wrote: > Here is an example straight out of the help, and for some reason, it is > not working. I get the error messages in the log, but I do not get the > info messages in the console. > Hello, I don't see this code in the help; nevertheless, your code will work if you set the logging level in the logging.basicConfig() call to logging.INFO or lower. I suggest that you start by trying to output to just one handler, and play around with that before trying to configure multiple handlers. Sorry not to be more helpful, but it's late here. Cheers (apologetically), Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: What people are using to access this mailing list
On Wed, 03 Nov 2010 11:17:32 +, Steven D'Aprano wrote: > On Wed, 03 Nov 2010 08:02:29 +, John Bond wrote: > >> Hope this isn't too O/T - I was just wondering how people read/send to >> this mailing list, eg. normal email client, gmane, some other software >> or online service? > > Usenet via my ISP, on comp.lang.python. news.gmane.org, using Pan. -- http://mail.python.org/mailman/listinfo/python-list
Re: python test frameworks
On Sun, 07 Nov 2010 10:56:46 +0530, Rustom Mody wrote: > There are a large number of test frameworks in/for python. Apart from > what comes builtin with python there seems to be nose, staf, qmtest etc > etc. > > Is there any central place where these are listed with short > descriptions? 'Test framework' means widely different things in > different contexts. Any explanations/tutorials around? > > [Disclaimer: I was educated a couple of decades before the TDD rage] Hello, You could start with http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: python test frameworks
On Sun, 07 Nov 2010 09:01:42 -0800, rustom wrote: > On Nov 7, 7:09 pm, Kev Dwyer wrote: >> On Sun, 07 Nov 2010 10:56:46 +0530, Rustom Mody wrote: >> > There are a large number of test frameworks in/for python. Apart >> > from what comes builtin with python there seems to be nose, staf, >> > qmtest etc etc. >> >> > Is there any central place where these are listed with short >> > descriptions? 'Test framework' means widely different things in >> > different contexts. Any explanations/tutorials around? >> >> > [Disclaimer: I was educated a couple of decades before the TDD rage] >> >> Hello, >> >> You could start >> withhttp://pycheesecake.org/wiki/PythonTestingToolsTaxonomy >> >> Kev > > Thanks -- that looks like a comprehensive resource. But it does not > have staf > http://staf.sourceforge.net/current/STAFPython.htm. Is that merely an > item missing or a category? I'm afraid I couldn't say with any certainty - I'd throw that question at the python testing newsgroup, to whom I am cross-posting in the hope that they can help. Kev -- http://mail.python.org/mailman/listinfo/python-list
Re: cross python version randomness
Robin Becker wrote: > Is there a way to get the same sequences of random numbers in python 2.7 > and python >= 3.3? > > I notice that this simple script produces different values in python 2.7 > and >=3.3 > > C:\code\hg-repos\reportlab>cat s.py > import sys, random > print(sys.version) > random.seed(103) > for i in range(5): > print(i, random.randint(10,25)) > > C:\code\hg-repos\reportlab>\python27\python s.py > 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit > (AMD64)] 0 25 > 1 17 > 2 21 > 3 21 > 4 13 > > C:\code\hg-repos\reportlab>\python33\python s.py > 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:35:05) [MSC v.1600 64 bit > (AMD64)] 0 24 > 1 16 > 2 12 > 3 13 > 4 22 > > However, when I use random.random() all seems to be the same so this > script C:\code\hg-repos\reportlab>cat u.py > import sys, random > print(sys.version) > random.seed(103) > for i in range(5): > print(i, random.random()) > > seems to be fine > > > C:\code\hg-repos\reportlab>\python27\python u.py > 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit > (AMD64)] (0, 0.9790501200727744) > (1, 0.45629827629184827) > (2, 0.7188470341002364) > (3, 0.7348862425853395) > (4, 0.21490166849706338) > > C:\code\hg-repos\reportlab>\python33\python u.py > 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:35:05) [MSC v.1600 64 bit > (AMD64)] 0 0.9790501200727744 > 1 0.45629827629184827 > 2 0.7188470341002364 > 3 0.7348862425853395 > 4 0.21490166849706338 > > presumably randint is doing something different to get its values. The docs [https://docs.python.org/3/library/random.html#random.randrange] for randrange have this note: Changed in version 3.2: randrange() is more sophisticated about producing equally distributed values. Formerly it used a style like int(random()*n) which could produce slightly uneven distributions. Maybe that's the explanation? Unfortunately I don't have an install of 3.0/1 to test against. -- https://mail.python.org/mailman/listinfo/python-list
Re: AttributeError: 'module' object has no attribute 'urlretrieve' in window subsystem ubuntu bash for tensorflow
Ho Yeung Lee wrote: > i use window subsystem ubuntu > and install python 3 and tensorflow > > then when try deep learning > > https://www.tensorflow.org/tutorials/wide_and_deep > > got error when urlretrieve local directory in ubuntu in window > > tried urllib3 still have error > > import tempfile > import pandas as pd > import urllib as urllib > import os > > model_dir = tempfile.mkdtemp() > m = tf.contrib.learn.DNNLinearCombinedClassifier( > model_dir=model_dir, > linear_feature_columns=wide_columns, > dnn_feature_columns=deep_columns, > dnn_hidden_units=[100, 50]) > > ... > > urllib.urlretrieve(r"/mnt/c/Users/hello/Documents/data.csv", > train_file.name) > urllib.urlretrieve(r"/mnt/c/Users/hello/Documents/dataTest.csv", > test_file.name) > > > Traceback (most recent call last): > File "", line 1, in > AttributeError: 'module' object has no attribute 'urlretrieve' If you're using python3, you need to do: from urllib.request import urlretrieve -- https://mail.python.org/mailman/listinfo/python-list