[py-dev] patch to allow usage of py.lib within non-administrator account on windows

holger krekel holger at merlinux.eu
Tue Jul 22 16:32:01 CEST 2008


On Tue, Jul 22, 2008 at 16:15 +0200, Harald Armin Massa wrote:
> I am using a svn checkout ...
> 
> svn co http://codespeak.net/svn/py/dist py-dist

i now synced py/release/0.9.1 to py/dist. 
Embarassingly, dist was even older than 0.9.1.

so i hope you now have a better version and things work. 

holger

> On Tue, Jul 22, 2008 at 15:58, holger krekel <holger at merlinux.eu> wrote:
> > Hi Harald!
> >
> > thanks for the report.  I think this got fixed in 0.9.1 -
> > are you using 0.9.0, maybe?
> >
> > cheers,
> >
> > holger
> >
> > On Tue, Jul 22, 2008 at 12:15 +0200, Harald Armin Massa wrote:
> >> Hello!
> >>
> >> atm. py.lib uses
> >>
> >> os.tmpfile()
> >>
> >> within fdcapture.py.
> >>
> >>
> >> On windows os.tmpfile() tries to create the file within the root of
> >> c:\; and it is quite good practice to disallow write access to this
> >> directory for non-admin users (as this avoids killing crucial system
> >> files)
> >>
> >> So installation on windows using an user without write-access to c:\,
> >> even setup.py fails with "permission.denied"
> >>
> >> More info in:
> >>
> >> http://groups.google.com/group/comp.lang.python/browse_thread/thread/4aa54e927f11bbc3?tvc=2
> >>
> >>
> >> It is fixable by using:
> >>
> >> def maketmpfile(self):
> >>         """ create a temporary file
> >>         """
> >>         #~ f = os.tmpfile()
> >>         f=tempfile.TemporaryFile()
> >>         newf = py.io.dupfile(f)
> >>         f.close()
> >>         return newf
> >>
> >>     def writeorg(self, str):
> >>         """ write a string to the original file descriptor
> >>         """
> >>         tempfp = tempfile.TemporaryFile()
> >>         try:
> >>             os.dup2(self._savefd, tempfp.fileno())
> >>             tempfp.write(str)
> >>         finally:
> >>             tempfp.close()
> >>
> >> within lines 42ff of py/io/fdcapture.py, of course after importing tempfile.
> >>
> >> I submit this patch into public domain.
> >>
> >> Harald
> >>
> >> --
> >> GHUM Harald Massa
> >> persuadere et programmare
> >> Harald Armin Massa
> >> Spielberger Straße 49
> >> 70435 Stuttgart
> >> 0173/9409607
> >> no fx, no carrier pidgeon
> >> -
> >> EuroPython 2008 will take place in Vilnius, Lithuania - Stay tuned!
> >> _______________________________________________
> >> py-dev mailing list
> >> py-dev at codespeak.net
> >> http://codespeak.net/mailman/listinfo/py-dev
> >>
> >
> > --
> > collaborative expert contracting: http://merlinux.eu
> > PyPy  Python/Compiler tool chain: http://codespeak.net/pypy
> > pylib py.test/greenlets/svn APIs: http://pylib.org
> >
> 
> 
> 
> -- 
> GHUM Harald Massa
> persuadere et programmare
> Harald Armin Massa
> Spielberger Straße 49
> 70435 Stuttgart
> 0173/9409607
> no fx, no carrier pidgeon
> -
> EuroPython 2008 will take place in Vilnius, Lithuania - Stay tuned!
> 

-- 
collaborative expert contracting: http://merlinux.eu 
PyPy  Python/Compiler tool chain: http://codespeak.net/pypy 
pylib py.test/greenlets/svn APIs: http://pylib.org 



More information about the Pytest-dev mailing list