If your console_scripts section in setup.py point to a correct entry point, then distribute should've created a dev_main.exe executable wrapper, and a dev_main-script.py under C:\Python25\Scripts.
The executable wrapper reads the generated python file and extracts the pyhton executable path from the shebang file, and calls CreateProcess with that python executable.

If you don't have these two files, then, I can guess that either:
* You're using an old version of distribute
* Your setup.py is incorrect.

- Guy

Andrea Crotti
December 13, 2011 4:11 PM

I thought so, but I was surprised to see the shebang line in the script file, so I supposed that it was actually working.
So if I just make sure that every py file is associated with that particular version of python everything should work,
right?
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig
Michael Foord
December 13, 2011 3:08 PM


On 13 December 2011 11:40, Andrea Crotti <andrea.crotti.0@gmail.com> wrote:
I have a script installed with "python setup.py develop" on windows 7 in
the directory c:\python25\scripts.

The script looks like:

#!c:\python25\python.exe
# EASY-INSTALL-DEV-SCRIPT: 'psi.devsonly==0.1','dev_main.py'
__requires__ = 'psi.devsonly==0.1'
from pkg_resources import require; require('psi.devsonly==0.1')
del require
__file__ = 'h:\\long\\path\\bin\\dev_main.py'
execfile(__file__)

c:\python25\script is actually in the $PATH, but if I try to launch
that command it doesn't work because it tries with c:\Python27.

long\path\git_projs\Psi>dev_main.py -h
dev_main.py -h
Traceback (most recent call last):
 File "C:\python25\scripts\dev_main.py", line 4, in <module>
   from pkg_resources import require; require('psi.devsonly==0.1')
 File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 2603, in <module>
 File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 666, in require
 File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: psi.devsonly==0.1


This makes me thing that
- the shebang is absolutely ignored


Yes, Windows ignores shebang lines, they're a UNIX convention. Windows uses file associations to decide what program to launch scripts with.

The Windows Python installer associates .py files with python.exe - so the most recent version of Python you installed will have the file association.

For scripts on Windows I *thought* setuptools created .exe wrappers to get round this problem. It may not do this when you use "setup.py develop" though.

All the best,
 

Michael Foord

- some other weird bug

Is there a way to solve this thing?
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig



--
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others

May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig
Andrea Crotti
December 13, 2011 1:40 PM
I have a script installed with "python setup.py develop" on windows 7 in
the directory c:\python25\scripts.

The script looks like:

#!c:\python25\python.exe
# EASY-INSTALL-DEV-SCRIPT: 'psi.devsonly==0.1','dev_main.py'
__requires__ = 'psi.devsonly==0.1'
from pkg_resources import require; require('psi.devsonly==0.1')
del require
__file__ = 'h:\\long\\path\\bin\\dev_main.py'
execfile(__file__)

c:\python25\script is actually in the $PATH, but if I try to launch
that command it doesn't work because it tries with c:\Python27.

long\path\git_projs\Psi>dev_main.py -h
dev_main.py -h
Traceback (most recent call last):
  File "C:\python25\scripts\dev_main.py", line 4, in <module>
    from pkg_resources import require; require('psi.devsonly==0.1')
  File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 2603, in <module>
  File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 666, in require
  File "C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: psi.devsonly==0.1


This makes me thing that
- the shebang is absolutely ignored
- some other weird bug

Is there a way to solve this thing?
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig