specifying python interpreter for vim7

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

specifying python interpreter for vim7

Chris Fonnesbecck
I have the python-enabled vim 7 beta binary, and was wondering how to
specify which version of python to use for the interpreter. I have both
2.3.5 and 2.4.1 installed on my system, but vim chooses 2.3.5 even though
2.4.1 is at /usr/bin/python.

Thanks,
Chris

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Benji Fisher
On Mon, Apr 03, 2006 at 08:00:12AM -0400, Chris Fonnesbeck wrote:
> I have the python-enabled vim 7 beta binary, and was wondering how to
> specify which version of python to use for the interpreter. I have both
> 2.3.5 and 2.4.1 installed on my system, but vim chooses 2.3.5 even though
> 2.4.1 is at /usr/bin/python.

     I am afraid that this is a compile-time option.  If you want to use
the more recent version of python, you will have to re-compile vim for
yourself.

     On the bright side, you did not uninstall 2.3.5 when you installed
2.4.1!

HTH --Benji Fisher
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
On 4/3/06, Benji Fisher <[hidden email]> wrote:

>
> On Mon, Apr 03, 2006 at 08:00:12AM -0400, Chris Fonnesbeck wrote:
> > I have the python-enabled vim 7 beta binary, and was wondering how to
> > specify which version of python to use for the interpreter. I have both
> > 2.3.5 and 2.4.1 installed on my system, but vim chooses 2.3.5 even
> though
> > 2.4.1 is at /usr/bin/python.
>
>      I am afraid that this is a compile-time option.  If you want to use
> the more recent version of python, you will have to re-compile vim for
> yourself.
>
>      On the bright side, you did not uninstall 2.3.5 when you installed
> 2.4.1!



Thats what  I was afraid you might say. Unfortunately, none of my python
modules are installed in 2.3.5, so it isnt very useful. I will have to
continue to try getting vim7 to compile. Thanks, though.

C.


Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
In reply to this post by Benji Fisher
On 4/3/06, Benji Fisher <[hidden email]> wrote:

>
> On Mon, Apr 03, 2006 at 08:00:12AM -0400, Chris Fonnesbeck wrote:
> > I have the python-enabled vim 7 beta binary, and was wondering how to
> > specify which version of python to use for the interpreter. I have both
> > 2.3.5 and 2.4.1 installed on my system, but vim chooses 2.3.5 even
> though
> > 2.4.1 is at /usr/bin/python.
>
>      I am afraid that this is a compile-time option.  If you want to use
> the more recent version of python, you will have to re-compile vim for
> yourself.
>

Actually, this does not appear to be true. Having just compiled vim7 with
python 2.4.1, as evidenced by the configure output:

checking Python version... 2.4
checking Python is 1.4 or better... yep
checking Python's install prefix...
/Library/Frameworks/Python.framework/Versions/2.4
checking Python's execution prefix...
/Library/Frameworks/Python.framework/Versions/2.4
checking Python's configuration directory...
/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/config


Subsequent testing for the python version from vim shows the version to be
2.3.5. It appears that the configuration information was ignored, for some
reason.

Thanks,
Chris

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Benji Fisher
On Mon, Apr 03, 2006 at 12:47:34PM -0400, Chris Fonnesbeck wrote:

> On 4/3/06, Benji Fisher <[hidden email]> wrote:
> >
> > On Mon, Apr 03, 2006 at 08:00:12AM -0400, Chris Fonnesbeck wrote:
> > > I have the python-enabled vim 7 beta binary, and was wondering how to
> > > specify which version of python to use for the interpreter. I have both
> > > 2.3.5 and 2.4.1 installed on my system, but vim chooses 2.3.5 even
> > though
> > > 2.4.1 is at /usr/bin/python.
> >
> >      I am afraid that this is a compile-time option.  If you want to use
> > the more recent version of python, you will have to re-compile vim for
> > yourself.
> >
>
> Actually, this does not appear to be true. Having just compiled vim7 with
> python 2.4.1, as evidenced by the configure output:
>
> checking Python version... 2.4
> checking Python is 1.4 or better... yep
> checking Python's install prefix...
> /Library/Frameworks/Python.framework/Versions/2.4
> checking Python's execution prefix...
> /Library/Frameworks/Python.framework/Versions/2.4
> checking Python's configuration directory...
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/config
>
>
> Subsequent testing for the python version from vim shows the version to be
> 2.3.5. It appears that the configuration information was ignored, for some
> reason.

     How did you test this?  Specifically, are you testing the version
of python that was linked to vim, or are you testing the version that
you get from something like

:!python -V

HTH --Benji Fisher
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
On 4/3/06, Benji Fisher <[hidden email]> wrote:

>
> On Mon, Apr 03, 2006 at 12:47:34PM -0400, Chris Fonnesbeck wrote:
> > On 4/3/06, Benji Fisher <[hidden email]> wrote:
>
>      How did you test this?  Specifically, are you testing the version
> of python that was linked to vim, or are you testing the version that
> you get from something like
>
> :!python -V
>

I was testing it by importing a module that is installed in 2.4.1, but not
in 2.3.5:

:python from numpy import *

gives me an ImportError saying that the module doesnt exist, while it
imports fine from the python shell.

Thanks,
C.

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Benji Fisher
On Tue, Apr 04, 2006 at 09:15:33AM -0400, Chris Fonnesbeck wrote:

> On 4/3/06, Benji Fisher <[hidden email]> wrote:
> >
> > On Mon, Apr 03, 2006 at 12:47:34PM -0400, Chris Fonnesbeck wrote:
> > > On 4/3/06, Benji Fisher <[hidden email]> wrote:
> >
> >      How did you test this?  Specifically, are you testing the version
> > of python that was linked to vim, or are you testing the version that
> > you get from something like
> >
> > :!python -V
> >
>
> I was testing it by importing a module that is installed in 2.4.1, but not
> in 2.3.5:
>
> :python from numpy import *
>
> gives me an ImportError saying that the module doesnt exist, while it
> imports fine from the python shell.

     First, I would try

:python import sys
:python print sys.path

Even simpler:

:version

(and look for the compilation flags at the end).

If you see "Python.framework/Versions/2.3" several times, then I will be
convinced that Vim.app was somehow linked with python 2.3.5 despite the
messages you got from the configure script.  In this case, the next step
is to have a look at src/auto/config.log for clues, and maybe the
configure script itself, to see what went wrong.

     From the tests you have described so far, it looks to me as though
you might actually have linked with python 2.4.1, but you need to tweak
sys.path, perhaps via the PYTHONPATH environment variable.

HTH --Benji Fisher
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
On 4/4/06, Benji Fisher <[hidden email]> wrote:

>
> On Tue, Apr 04, 2006 at 09:15:33AM -0400, Chris Fonnesbeck wrote:
> > On 4/3/06, Benji Fisher <[hidden email]> wrote:
> > >
> > > On Mon, Apr 03, 2006 at 12:47:34PM -0400, Chris Fonnesbeck wrote:
> > > > On 4/3/06, Benji Fisher <[hidden email]> wrote:
> > >
> > >      How did you test this?  Specifically, are you testing the version
> > > of python that was linked to vim, or are you testing the version that
> > > you get from something like
> > >
> > > :!python -V
> > >
> >
> > I was testing it by importing a module that is installed in 2.4.1, but
> not
> > in 2.3.5:
> >
> > :python from numpy import *
> >
> > gives me an ImportError saying that the module doesnt exist, while it
> > imports fine from the python shell.
>
>      First, I would try
>
> :python import sys
> :python print sys.path
>
> Even simpler:
>
> :version
>
> (and look for the compilation flags at the end).
>
> If you see "Python.framework/Versions/2.3" several times, then I will be
> convinced that Vim.app was somehow linked with python 2.3.5 despite the
> messages you got from the configure script.  In this case, the next step
> is to have a look at src/auto/config.log for clues, and maybe the
> configure script itself, to see what went wrong.
>
>      From the tests you have described so far, it looks to me as though
> you might actually have linked with python 2.4.1, but you need to tweak
> sys.path, perhaps via the PYTHONPATH environment variable.
>

Here is the sys.path

['/Users',
'/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python23.zip',
'/System/Library/Frameworks/Python.fr
amework/Versions/2.3/lib/python2.3',
'/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/plat-darwin',
'/
System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/plat-mac',
'/System/Library/Frameworks/Python.framework
/Versions/2.3/lib/python2.3/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.3/lib/pytho
n2.3/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/lib-dynload',
'/System/Library/Framewor
ks/Python.framework/Versions/2.3/lib/python2.3/site-packages',
'/System/Library/Frameworks/Python.framework/Versions/2.3/Extr
as/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/Numeric',
'/System/Libr
ary/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/PyObjC',
'/Library/Python/2.3', '/System/Library/Fra
meworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/py2app',
'/System/Library/Frameworks/Python.framework/Versi
ons/2.3/lib/python2.3/site-packages/wx-2.6-mac-ansi']

and here is :version

VIM - Vi IMproved 7.0c08 BETA (2006 Apr 3, compiled Apr  5 2006 09:13:29)
MacOS X (unix) version
Compiled by [hidden email]
Big version with Carbon GUI.  Features included (+) or not (-):
+arabic +autocmd -balloon_eval +browse ++builtin_terms +byte_offset +cindent
-clientserver +clipboard +cmdline_compl
+cmdline_hist +cmdline_info +comments +cryptv -cscope +cursorshape
+dialog_con_gui +diff +digraphs -dnd -ebcdic +emacs_tags
+eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +folding
-footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent
+listcmds +localmap +menu +mksession +modify_fname
 +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm
+mouse_xterm +multi_byte +multi_lang -mzscheme
-netbeans_intg -osfiletype +path_extra -perl +postscript +printer -profile
+python +quickfix +rightleft -ruby +scrollbind
+signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo
+termresponse +textobjects +title -toolbar +user_commands +vertsplit
+virtualedit +visual +visualextra +viminfo +vreplace
+wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/Vim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MAC -fno-common
-fpascal-strings -Wall -Wno-unknown-pragmas -mdyna
mic-no-pic -pipe -I. -Iproto -DMACOS_X_UNIX -no-cpp-precomp
-I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon  -
O -fno-strength-reduce -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch
i386 -arch ppc     -I/Library/Frameworks/Python.
framework/Versions/2.4/include/python2.4
Linking: gcc   -L/usr/local/lib -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-arch i386 -arch ppc -o Vim -framework Carbon
-lncurses  -liconv    -framework Python

You are right; I may have to play with the python path, but it seems strange
that 2.3.5 ends up on the sys.path. I dont actually have a PYTHONPATH
variable defined in my environment at the moment; but python 2.4.1 is on my
PATH.

C.

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
On 4/5/06, Chris Fonnesbeck <[hidden email]> wrote:

>
> On 4/4/06, Benji Fisher <[hidden email]> wrote:
>
> >
> >      From the tests you have described so far, it looks to me as though
> > you might actually have linked with python 2.4.1, but you need to tweak
> > sys.path, perhaps via the PYTHONPATH environment variable.
> >
>
>
> You are right; I may have to play with the python path, but it seems
> strange that 2.3.5 ends up on the sys.path. I dont actually have a
> PYTHONPATH variable defined in my environment at the moment; but python
> 2.4.1 is on my PATH.
>
> <http://trichech.us>
>

I tried setting the PYTHONHOME variable:

PYTHONHOME=/Library/Frameworks/Python.framework/Versions/2.4

(which should do the trick on OSX) then logged out and in again, but the
problem persists.

C.

--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Benji Fisher
On Wed, Apr 05, 2006 at 09:36:27AM -0400, Chris Fonnesbeck wrote:

> On 4/5/06, Chris Fonnesbeck <[hidden email]> wrote:
> >
> > You are right; I may have to play with the python path, but it seems
> > strange that 2.3.5 ends up on the sys.path. I dont actually have a
> > PYTHONPATH variable defined in my environment at the moment; but python
> > 2.4.1 is on my PATH.
>
> I tried setting the PYTHONHOME variable:
>
> PYTHONHOME=/Library/Frameworks/Python.framework/Versions/2.4
>
> (which should do the trick on OSX) then logged out and in again, but the
> problem persists.

     Where did you set the PYTHONHOME variable?  If you are starting
Vim.app from the Finder (or, I think, if you start it using the open
command) then vim does not inherit environment variables from your login
shell.  You can try calling the executable from a Terminal window,

$ /Applications/Vim.app/Contents/MacOS/Vim -g

or you can try

:let $PYTHONHOME = '/Library/Frameworks/Python.framework/Versions/2.4'

when vim is running, or from your vimrc file, or use the suggestion
under

:help mac-faq

to set environment variables as in a login shell.

HTH --Benji Fisher
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Chris Fonnesbecck
On 4/5/06, Benji Fisher <[hidden email]> wrote:

>
> On Wed, Apr 05, 2006 at 09:36:27AM -0400, Chris Fonnesbeck wrote:
> > On 4/5/06, Chris Fonnesbeck <[hidden email]> wrote:
> > >
> > > You are right; I may have to play with the python path, but it seems
> > > strange that 2.3.5 ends up on the sys.path. I dont actually have a
> > > PYTHONPATH variable defined in my environment at the moment; but
> python
> > > 2.4.1 is on my PATH.
> >
> > I tried setting the PYTHONHOME variable:
> >
> > PYTHONHOME=/Library/Frameworks/Python.framework/Versions/2.4
> >
> > (which should do the trick on OSX) then logged out and in again, but the
> > problem persists.
>
>      Where did you set the PYTHONHOME variable?  If you are starting
> Vim.app from the Finder (or, I think, if you start it using the open
> command) then vim does not inherit environment variables from your login
> shell.  You can try calling the executable from a Terminal window,
>
> $ /Applications/Vim.app/Contents/MacOS/Vim -g
>
> or you can try
>
> :let $PYTHONHOME = '/Library/Frameworks/Python.framework/Versions/2.4'


Interestingly, when I do this something very odd happens. It now cites the
2.4 directory, but continues to look for python 2.3! It looks like something
is hard-wired somewhere:

['/Users/chris/Downloads',
'/Library/Frameworks/Python.framework/Versions/2.4/lib/python23.zip',
'/Library/Frameworks/Python.
framework/Versions/2.4/lib/python2.3/',
'/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.3/plat-darwin',
'/Libr
ary/Frameworks/Python.framework/Versions/2.4/lib/python2.3/plat-mac',
'/Library/Frameworks/Python.framework/Versions/2.4/lib/
python2.3/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.3/lib-tk',
'/Library/F
rameworks/Python.framework/Versions/2.4/lib/python2.3/lib-dynload']




--
Chris Fonnesbeck + Atlanta, GA + http://trichech.us
Reply | Threaded
Open this post in threaded view
|

Re: specifying python interpreter for vim7

Benji Fisher
In reply to this post by Chris Fonnesbecck
On Wed, Apr 05, 2006 at 09:22:06AM -0400, Chris Fonnesbeck wrote:
>
> VIM - Vi IMproved 7.0c08 BETA (2006 Apr 3, compiled Apr  5 2006 09:13:29)
> MacOS X (unix) version
> Compiled by [hidden email]
> Big version with Carbon GUI.  Features included (+) or not (-):
[snip]

> Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MAC -fno-common
> -fpascal-strings -Wall -Wno-unknown-pragmas -mdyna
> mic-no-pic -pipe -I. -Iproto -DMACOS_X_UNIX -no-cpp-precomp
> -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon  -
> O -fno-strength-reduce -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch
> i386 -arch ppc     -I/Library/Frameworks/Python.
> framework/Versions/2.4/include/python2.4
> Linking: gcc   -L/usr/local/lib -isysroot /Developer/SDKs/MacOSX10.4u.sdk
> -arch i386 -arch ppc -o Vim -framework Carbon
> -lncurses  -liconv    -framework Python
>
> You are right; I may have to play with the python path, but it seems strange
> that 2.3.5 ends up on the sys.path. I dont actually have a PYTHONPATH
> variable defined in my environment at the moment; but python 2.4.1 is on my
> PATH.

     Perhaps the problem is that the linking option is simply
"-framework Python".  The compilation flags specify python2.4.

     See the comments in src/Makefile , starting with

# - If you do not trust the automatic configuration code, then inspect
#  auto/config.h and auto/config.mk, before starting the actual build
#  phase. If possible edit this Makefile, rather than auto/config.mk --
#  especially look at the definition of VIMLOC below. Note that the
#  configure phase overwrites auto/config.mk and auto/config.h again.

You can probably get it to link with the right version of python by
hacking one of the auto/config.* files or src/Makefile (setting LDFLAGS
somewhere).

     I suppose the most direct method is to run "gcc   -L/usr/local/lib
-isysroot ..." from the shell.

     If this works, please let us know.  Someone (probably Bram) can
probably fix the autoconf/Makefile stuff so that it does not require a
hack.

     If you manage to link with the correct version of python and still
have problems, this may be more of a python problem than a Mac problem.
You might get more help from the general vim users' list ([hidden email])
than this one.  I will be off-line from later today until Monday.

HTH --Benji Fisher