[issue4015] [patch] make installed scripts executable on windows

2010-05-28 Thread Per

Per pybugs.pho...@safersignup.com added the comment:

On POSIX the interpreter will be read from the first line of a file.
On Windows the interpreter will be read from the Registry 
HKEY_CLASSES_ROOT\.file-extension .

So the correct way to associate a interpreter to a file is to invent a 
file-extension for every interpreter.
Like /usr/bin/python /usr/bin/python3 and /usr/bin/python3.1 on POSIX, there 
should be .py .py3 and .py31 on Windows!

I attached a example-registry-patch to register extensions for 2.5, 2.6 and 3.1 
.
If you want to use it, you need to adjust the paths!

I propose to change all Python-Windows-installer to install versioned 
extensions.

If you want a switcher application, it should read the first line of the script 
and match it against .*/python(.*)$. So the default POSIX 
#!/usr/bin/python3.1 can be kept unchanged. With that rexex the app-path can 
be read from 
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\regex-match\InstallPath\.

BTW.
It would be nice if Python would call itself Python 3.1 instead of python 
in the Open with...-list! The current naming is problematic if you install 
more than one Python version.

--
nosy: +phobie
Added file: http://bugs.python.org/file17481/hklm_python_extensions.reg

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2010-05-28 Thread Éric Araujo

Éric Araujo mer...@netwok.org added the comment:

Related to #870479 (should we make that one a meta-bug?)

--
nosy: +merwok

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2010-05-28 Thread anatoly techtonik

anatoly techtonik techto...@gmail.com added the comment:

This issue is so old and I do not have time to reread it fully, unfortunately. 
I believe I wanted to install packages using easy_install, pip or whatever 
I have and get Scripts/something.bat for  my version of Python. This version is 
often portable, so registry dependency it is not an option - not a good version 
at least. Scripts/ can also be located in virtualenv.

The similar patch is used for deploying SCons on Windows.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-08-14 Thread Gabriel Genellina

Changes by Gabriel Genellina gagsl-...@yahoo.com.ar:


--
nosy: +gagenellina

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-08-13 Thread sorin

sorin sorin.sbar...@gmail.com added the comment:

I totally agree that we must create batch files for commands but not by
including python code inside them.

--
nosy: +sorin

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-04 Thread Tarek Ziadé

Changes by Tarek Ziadé ziade.ta...@gmail.com:


--
priority:  - normal
type:  - feature request
versions: +Python 2.7, Python 3.1 -Python 2.6

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-02 Thread anatoly techtonik

Changes by anatoly techtonik techto...@gmail.com:


Added file: http://bugs.python.org/file13577/executable.scripts.on.nt.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-02 Thread anatoly techtonik

anatoly techtonik techto...@gmail.com added the comment:

I've updated the script to parse unlimited number of parameters on NT,
to return %errorcode% and to fallback to default Python compiler.

It is based on similar workarounds we've made for SCons in
http://scons.tigris.org/source/browse/scons/branches/core/src/script/scons.bat?view=log
 If you look at the SCons .bat closely you'll notice the difference that
it includes code to launch main application script directly from
site-packages thus removing the requirement to have .py script in Scripts/

In my patch I use Template that has placeholders for product name,
author and email. However, the actual data is not written and hints how
to get it in place are still welcome.

--
Added file: http://bugs.python.org/file13578/install_scripts.py

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread anatoly techtonik

anatoly techtonik techto...@gmail.com added the comment:

The point is not in generating .bat files. The point is to make scripts
executable with exactly the same version of Python the script was
installed. It works well on POSIX, but doesn't work on windows at all.

There is no other way to fix this on windows than generating separate
.exe or .bat launcher. The patch for .bat is ready.

Embedding python code inside of .bat is not a good idea, because runner
script may be complicated, and additional code in header adds probems
with patch submissions and debugging. Not all editors know about magic
-x option. KISS, you know. =)

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread Jean-Michel Fauth

Jean-Michel Fauth wxjmfa...@gmail.com added the comment:

It is true, that on Windows the mime types, .py, .pyw point to a
specific version of Python.

Having Python 2.4, 2.5, 2.6, 3.0, 3.1 installed on my hd and
applications using these (different) versions, I am *very glad* on that
system, all versions, including \site-packages, are isolated from each
other.

Technically, one can argue a Python developer/user should be able to
write a one line batch file if necessary.

Compared to *x systems, I have always found the Windows way as being
very clean and flexible.

--
nosy: +jmfauth

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc amaur...@gmail.com added the comment:

 on Windows the mime types, .py, .pyw point to a 
 specific version of Python.

It could also point to a python launcher, which reads the first line
of the file and starts the corresponding version of the interpreter.
Visual Studio does this for .sln files. It even displays different icons
depending on the file contents.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread Mark Hammond

Mark Hammond mhamm...@users.sourceforge.net added the comment:

 It could also point to a python launcher, which reads the first line

What would that first line look like on Windows? 
o:\src\python-2.6-svn\PCBuild\python.exe would be appropriate for my
machine, but I wouldn't really be happy with installed scripts embedding
this in their first line - if for no better reason than depending on the
Virtual Machine I am using at the time, that exact same directory will
be seen as being on a completely different device, and potentially under
a different 'root' directory too.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc amaur...@gmail.com added the comment:

I agree.
In any case, double-clicking on a .py file should start an installed
interpreter, that is one listed in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\X.Y\InstallPath

Today starting a .py file only open the last installed Python interpreter.
With this proposal, the launcher choose the best installed interpreter
for the given script, and falls back to the last installed one.

There may be different definitions of best. The algorithm could look
like this:
- if the first line is
#! c:/some/path/to/python.exe
  and the registry contains an installation with 
InstallPath=c:/some/path/to
  choose this one.
- if the first line matches
#! c:/python/([1-9])([0-9])/python.exe
  and if the following registry key exists:
HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/\1.\2/InstallPath
  choose this one.
- else, use the last installed interpreter.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread Andrew Svetlov

Andrew Svetlov andrew.svet...@gmail.com added the comment:

Maybe also let's look on setuptools solution.It can make windows 
executable for 'entry point scripts'.

Also there are family scripts for single entry point:
* easy_install.exe
* easy_install-2.5.exe
* easy_install-2.5-script.py
* easy_install-script.py

I like it. Exe files executes specific python version. If you are 
installed library in python 2.6 - python 2.6 interpreter will be used, 
not looking in 'default' interpreter etc.

I use setuptools and for me it gives good 'executive python scripts'.  

BTW, double click executes 'default' interpreter, not last installed.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-04-01 Thread anatoly techtonik

anatoly techtonik techto...@gmail.com added the comment:

The solution with launcher is complex (if not complicated). It will make
scripts unportable - consider using a removable disk with your Python
and application script. The interpreter was not installed on target
system, but with .bat file application is still able to run.

In case there is a problem with registry (backup/restore/profile
migration operation) when recorded version differs from actual installed
file, you will have a great time trying to debug what your script fails
to work, because the version of Python is wrong. I would name this
behaviour implicit.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-03-29 Thread Andrew Svetlov

Andrew Svetlov andrew.svet...@gmail.com added the comment:

optional .bat file generating - probably not bad idea.
But I definitely don't want to see this issue as default.

Maybe just tool for generating bat files for desired packages based on 
package metadata for scripts can be solution?

--
nosy: +asvetlov

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-03-18 Thread Benny Bach

Benny Bach benny.b...@gmail.com added the comment:

If you have to name the script with a .bat extension it is not portable
to other platforms or did I misunderstand something?

The point of generating the bat file is to be able to use the same
script on all platforms.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-03-18 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc amaur...@gmail.com added the comment:

On posix platform, build_scripts already updates the #! line to refer to
the target interpreter, and changes the file mode.
On Windows, it could change the extension as well. Or does it causes
problems?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-03-18 Thread Benny Bach

Benny Bach benny.b...@gmail.com added the comment:

Ok - I see what you mean. I can't see any problems with it. However 
generating a separate bat file has the advantage that you can still 
invoke the original script by calling python explicitly.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-03-17 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc amaur...@gmail.com added the comment:

I sometimes use this trick on Windows: name the script with a .bat 
extension, and put these lines on top of the file:

@echo off
rem = 
rem run python on this bat file.
rem The -x causes python to skip the first line of the file:
c:\path\to\python -x %~dpnx0 %*
goto :EOF
rem 

--
nosy: +amaury.forgeotdarc

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2009-02-05 Thread Tarek Ziadé

Changes by Tarek Ziadé ziade.ta...@gmail.com:


--
nosy: +tarek

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2008-10-24 Thread Mark Hammond

Mark Hammond [EMAIL PROTECTED] added the comment:

I can see how this might be useful, but I agree it should not happen by
default, at least until it has been out for a while and feedback is
clear that people do want it by default.

I'd also like to find a way to pass all args, not just the first 9 -
that may well end up a source of bugs for people.  It might also be
worth considering that setuptools has the ability to create a true
executable from a script by using a stub executable.  Wouldn't that be
better still?  In the short term, maybe we should keep this
functionality in setuptools etc and let it filter back to distutils as
it proves itself?

--
nosy: +mhammond

___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2008-10-16 Thread anatoly techtonik

anatoly techtonik [EMAIL PROTECTED] added the comment:

The same issue in Roundup Tracker bugtracker
http://sourceforge.net/tracker2/index.php?func=detailaid=1163804group_id=31577atid=402788

___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2008-10-04 Thread anatoly techtonik

anatoly techtonik [EMAIL PROTECTED] added the comment:

1. Associations still do not show Scripts/ among executable files in Run
dialog.

2. Association works only for one version of properly installed Python.
It won't work if Python is installed for different user, if extensions
are not registered or if Python was copied from another machine. 

3. Association will call only the latest Python when you may need to
maintain several installations for your applications. 90% of Python
software is still compiled only for Python 2.5 and when .py association
is set for latest 2.6 users still need to have scripts located in 2.5
dist subdir to be executed with version 2.5

4. Some *nix-developed applications create Python Scripts/ without any
extension at all

Created .bat files guarantee that scripts will be executed with the
version of Python they were installed for. In my opinion this options
should be turned on by default even if made optional to allow users
forget about platform differences.

___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2008-10-03 Thread Terry J. Reedy

Terry J. Reedy [EMAIL PROTECTED] added the comment:

As a Windows user, I am not sure I would want this.  A run command
associated with .py makes all .py files executable.  From a command
prompt, which I suspect most Windows users never use, typing 'python' is
not a big deal.  Adding .bat files should at least be optional.

--
nosy: +tjreedy

___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4015] [patch] make installed scripts executable on windows

2008-10-02 Thread anatoly techtonik

New submission from anatoly techtonik [EMAIL PROTECTED]:

Distutils contains code to make scripts executable on posix platform.
Here is a patch to for the same feature for nt. It adds .bat file for
every script that doesn't have executable launcher.

--
components: Distutils
files: create.bat.scripts.on.nt.patch
keywords: patch
messages: 74159
nosy: techtonik
severity: normal
status: open
title: [patch] make installed scripts executable on windows
versions: Python 2.6
Added file: http://bugs.python.org/file11676/create.bat.scripts.on.nt.patch

___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4015
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com