[IPython-dev] Critical: For now IPython requires Python 2.5 - we need to fix this

Brian Granger ellisonbg.net at gmail.com
Thu Jun 12 16:51:16 EDT 2008

I have removed the offending code in setupbase.find_data_files.  My
fix is only temporary, for now the method returns an empty list so no
data_files will be installed.  But I am doing a full audit/fix of this

Cheers and sorry about this.


On Thu, Jun 12, 2008 at 2:27 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> On Thu, Jun 12, 2008 at 1:11 PM, Brian Granger <ellisonbg.net at gmail.com> wrote:
>> Hi,
>> Now that all of the stuff from ipython1 has moved into IPython,
>> IPython has new fancy parallel computing capabilities.....and..... a
>> dependency on Python 2.5.
>> Here is the story.  In IPython.kernel there is a likely lots of code
>> that requires python 2.4, and a little that requires 2.5.  At this
>> point, it is probably too late to get rid of the 2.4 specific stuff,
>> but we still have to figure out what to do about 2.5 specific syntax
>> and features.
>> The main things are our usage of the with statement.  Currently
>> building IPython with <2.5 gives a syntax error because of this.  We
>> clearly need to fix this as IPython definitely needs to run under 2.4.
>>  But, how do we want to handle these things?  Requires 2.4 and make
>> 2.5 features optional?  Thoughts?
> I have a few minutes of network...
> I can't test which step fails right now,  because the setup.py install
> is crashing for me with all versions:
> Traceback (most recent call last):
>  File "setup.py", line 174, in <module>
>    setup(**setup_args)
>  File "/usr/lib/python2.5/distutils/core.py", line 151, in setup
>    dist.run_commands()
>  File "/usr/lib/python2.5/distutils/dist.py", line 974, in run_commands
>    self.run_command(cmd)
>  File "/usr/lib/python2.5/distutils/dist.py", line 994, in run_command
>    cmd_obj.run()
>  File "/usr/lib/python2.5/distutils/command/install.py", line 510, in run
>    self.run_command(cmd_name)
>  File "/usr/lib/python2.5/distutils/cmd.py", line 333, in run_command
>    self.distribution.run_command(command)
>  File "/usr/lib/python2.5/distutils/dist.py", line 994, in run_command
>    cmd_obj.run()
>  File "/home/fperez/ipython/bzr-repo/trunk-dev/setupext/install_data_ext.py",
> line 75, in run
>    (out, _) = self.copy_file(f, dir)
>  File "/usr/lib/python2.5/distutils/cmd.py", line 376, in copy_file
>    dry_run=self.dry_run)
>  File "/usr/lib/python2.5/distutils/file_util.py", line 117, in copy_file
>    if not os.path.isfile(src):
>  File "/usr/lib/python2.5/posixpath.py", line 208, in isfile
>    st = os.stat(path)
> TypeError: coercing to Unicode: need string or buffer, list found
> In a couple of hours I may be able to pull bzr again and will test.  I
> can play with alternatives for the 2.5 dependency.
> I think we'll have to be OK with 2.4 as a dependency for versions >=
> 0.9, but 2.5 is definitely a little harsh.  I *really* want those cool
> context managers in there, the idea is too cool not to put it  in.
> But we need them to be optional.  The trick is to exclude them from
> the build process if the  setup.py file is processed with python2.4,
> since they simply won't compile at all (the with statement is a syntax
> error).
> It may require a bit of distutils hackery with the MANIFEST.in, but I
> don't think it's impossible to make them optional.
> Cheers,
> f

More information about the IPython-dev mailing list