Just FYI, it looks like it won't be that bad getting things to work
with Twisted 8. I modified setupext to not barf if twisted's
version.major > 2 and installed ipython1. I'll go ahead and branch an
ipython1-twisted8 and start fixing the last couple of test... Here's
the output of 'trial ipython1' on my machine (twisted 8.0.1):
ipython1.core.tests.test_shell
BasicShellTest
testCommand ... [OK]
testExecute ... [OK]
testPutGet ... [OK]
testUpdate ... [OK]
ipython1.daemon.tests.test_daemonservice
BasicDaemonServiceTest
testIDaemonServiceDeferreds ... [OK]
testIDaemonServiceInterface ... [OK]
testIDaemonServiceInterfaceMethods ... [OK]
testRestart_0 ... [OK]
testRestart_1 ... [OK]
testShutdown ... [FAIL]
testSignal_0 ... [OK]
testSignal_1 ... [OK]
testSignal_10 ... [OK]
testSignal_11 ... [OK]
testSignal_12 ... [OK]
testSignal_13 ... [OK]
testSignal_14 ... [OK]
testSignal_15 ... [OK]
testSignal_16 ... [OK]
testSignal_17 ... [OK]
testSignal_18 ... [OK]
testSignal_19 ... [OK]
testSignal_2 ... [OK]
testSignal_20 ... [OK]
testSignal_21 ... [OK]
testSignal_22 ... [OK]
testSignal_23 ... [OK]
testSignal_24 ... [OK]
testSignal_25 ... [OK]
testSignal_26 ... [OK]
testSignal_27 ... [OK]
testSignal_28 ... [OK]
testSignal_29 ... [OK]
testSignal_3 ... [OK]
testSignal_30 ... [OK]
testSignal_31 ... [OK]
testSignal_32 ... [OK]
testSignal_33 ... [OK]
testSignal_4 ... [OK]
testSignal_5 ... [OK]
testSignal_6 ... [OK]
testSignal_7 ... [OK]
testSignal_8 ... [OK]
testSignal_9 ... [OK]
testStartBadProcess_0 ... [OK]
testStartBadProcess_1 ... [OK]
testStartBadProcess_2 ... [OK]
testStartProcess_0 ... [OK]
testStartProcess_1 ... [OK]
testStartProcess_2 ... [OK]
ExternalProcessTest
testPoll ... [OK]
ipython1.kernel.tests.test_controllerservice
BasicControllerServiceTest
testBadUnregister ... [OK]
testIControllerCoreInterface ... [OK]
testIControllerCoreInterfaceMethods ... [OK]
testRegisterCallables ... [OK]
testRegisterUnregisterEngine ... [OK]
testRegisterUnregisterMultipleEngines ... [OK]
ipython1.kernel.tests.test_enginepb
EnginePBTest
testClearQueue ... [OK]
testExecuteFailures_0 ... [OK]
testExecuteFailures_1 ... [OK]
testExecuteFailures_2 ... [OK]
testExecuteFailures_3 ... [OK]
testExecuteFailures_4 ... [OK]
testExecuteFailures_5 ... [OK]
testExecuteFailures_6 ... [OK]
testExecute_0 ... [OK]
testExecute_1 ... [OK]
testExecute_10 ... [OK]
testExecute_11 ... [OK]
testExecute_2 ... [OK]
testExecute_3 ... [OK]
testExecute_4 ... [OK]
testExecute_5 ... [OK]
testExecute_6 ... [OK]
testExecute_7 ... [OK]
testExecute_8 ... [OK]
testExecute_9 ... [OK]
testGetResultDefault ... [OK]
testGetResultFailure ... [OK]
testGetResult_0 ... [OK]
testGetResult_1 ... [OK]
testGetResult_10 ... [OK]
testGetResult_11 ... [OK]
testGetResult_2 ... [OK]
testGetResult_3 ... [OK]
[ERROR]
testGetResult_4 ... [OK]
testGetResult_5 ... [OK]
testGetResult_6 ... [OK]
testGetResult_7 ... [OK]
testGetResult_8 ... [OK]
testGetResult_9 ... [OK]
testIEngineCoreDeferreds ... [OK]
testIEngineCoreInterface ... [OK]
testIEngineCoreInterfaceMethods ... [OK]
testIEngineQueuedDeferreds ... [OK]
testIEngineQueuedInterface ... [OK]
testIEngineQueuedInterfaceMethods ... [OK]
testIEngineSerializedDeferreds ... [OK]
testIEngineSerializedInterface ... [OK]
testIEngineSerializedInterfaceMethods ... [OK]
testKeys ... [OK]
testMessageSizeLimit ... [OK]
testNull ... [OK]
testPullFunction ... [OK]
testPullNameError ... [OK]
testPullSerializedFailures ... [OK]
testPushFunction ... [OK]
testPushFunctionGlobal ... [OK]
testPushPullArray ... [OK]
testPushPullFailures ... [OK]
testPushPullSerialized ... [OK]
testPushPull_0 ... [OK]
testPushPull_1 ... [OK]
testPushPull_2 ... [OK]
testPushPull_3 ... [OK]
testPushPull_4 ... [OK]
testQueueStatus ... [OK]
ipython1.kernel.tests.test_engineservice
BasicEngineServiceTest
testClearProperties ... [OK]
testDelHasProperties ... [OK]
testExecuteFailures_0 ... [OK]
testExecuteFailures_1 ... [OK]
testExecuteFailures_2 ... [OK]
testExecuteFailures_3 ... [OK]
testExecuteFailures_4 ... [OK]
testExecuteFailures_5 ... [OK]
testExecuteFailures_6 ... [OK]
testExecute_0 ... [OK]
testExecute_1 ... [OK]
testExecute_10 ... [OK]
testExecute_11 ... [OK]
testExecute_2 ... [OK]
testExecute_3 ... [OK]
testExecute_4 ... [OK]
testExecute_5 ... [OK]
testExecute_6 ... [OK]
testExecute_7 ... [OK]
testExecute_8 ... [OK]
testExecute_9 ... [OK]
testGetResultDefault ... [OK]
testGetResultFailure ... [OK]
testGetResult_0 ... [OK]
testGetResult_1 ... [OK]
testGetResult_10 ... [OK]
testGetResult_11 ... [OK]
testGetResult_2 ... [OK]
testGetResult_3 ... [OK]
testGetResult_4 ... [OK]
testGetResult_5 ... [OK]
testGetResult_6 ... [OK]
testGetResult_7 ... [OK]
testGetResult_8 ... [OK]
testGetResult_9 ... [OK]
testGetSetProperties ... [OK]
testIEngineCoreDeferreds ... [OK]
testIEngineCoreInterface ... [OK]
testIEngineCoreInterfaceMethods ... [OK]
testIEnginePropertiesInterface ... [OK]
testIEnginePropertiesInterfaceMethods ... [OK]
testIEngineSerializedDeferreds ... [OK]
testIEngineSerializedInterface ... [OK]
testIEngineSerializedInterfaceMethods ... [OK]
testKeys ... [OK]
testPullFunction ... [OK]
testPullNameError ... [OK]
testPullSerializedFailures ... [OK]
testPushFunction ... [OK]
testPushFunctionGlobal ... [OK]
testPushPullArray ... [OK]
testPushPullFailures ... [OK]
testPushPullSerialized ... [OK]
testPushPull_0 ... [OK]
testPushPull_1 ... [OK]
testPushPull_2 ... [OK]
testPushPull_3 ... [OK]
testPushPull_4 ... [OK]
testStrictDict ... [OK]
QueuedEngineServiceTest
testClearProperties ... [OK]
testClearQueue ... [OK]
testDelHasProperties ... [OK]
testExecuteFailures_0 ... [OK]
testExecuteFailures_1 ... [OK]
testExecuteFailures_2 ... [OK]
testExecuteFailures_3 ... [OK]
testExecuteFailures_4 ... [OK]
testExecuteFailures_5 ... [OK]
testExecuteFailures_6 ... [OK]
testExecute_0 ... [OK]
testExecute_1 ... [OK]
testExecute_10 ... [OK]
testExecute_11 ... [OK]
testExecute_2 ... [OK]
testExecute_3 ... [OK]
testExecute_4 ... [OK]
testExecute_5 ... [OK]
testExecute_6 ... [OK]
testExecute_7 ... [OK]
testExecute_8 ... [OK]
testExecute_9 ... [OK]
testGetResultDefault ... [OK]
testGetResultFailure ... [OK]
testGetResult_0 ... [OK]
testGetResult_1 ... [OK]
testGetResult_10 ... [OK]
testGetResult_11 ... [OK]
testGetResult_2 ... [OK]
testGetResult_3 ... [OK]
testGetResult_4 ... [OK]
testGetResult_5 ... [OK]
testGetResult_6 ... [OK]
testGetResult_7 ... [OK]
testGetResult_8 ... [OK]
testGetResult_9 ... [OK]
testGetSetProperties ... [OK]
testIEngineCoreDeferreds ... [OK]
testIEngineCoreInterface ... [OK]
testIEngineCoreInterfaceMethods ... [OK]
testIEnginePropertiesInterface ... [OK]
testIEnginePropertiesInterfaceMethods ... [OK]
testIEngineQueuedDeferreds ... [OK]
testIEngineQueuedInterface ... [OK]
testIEngineQueuedInterfaceMethods ... [OK]
testIEngineSerializedDeferreds ... [OK]
testIEngineSerializedInterface ... [OK]
testIEngineSerializedInterfaceMethods ... [OK]
testKeys ... [OK]
testPullFunction ... [OK]
testPullNameError ... [OK]
testPullSerializedFailures ... [OK]
testPushFunction ... [OK]
testPushFunctionGlobal ... [OK]
testPushPullArray ... [OK]
testPushPullFailures ... [OK]
testPushPullSerialized ... [OK]
testPushPull_0 ... [OK]
testPushPull_1 ... [OK]
testPushPull_2 ... [OK]
testPushPull_3 ... [OK]
testPushPull_4 ... [OK]
testQueueStatus ... [OK]
testStrictDict ... [OK]
ipython1.kernel.tests.test_multiengine
BasicMultiEngineTestCase
testClearProperties ... [OK]
testClearQueue ... [OK]
testDelHasProperties ... [OK]
testExecuteAll ... [OK]
testExecuteFailures_0 ... [OK]
testExecuteFailures_1 ... [OK]
testExecuteFailures_2 ... [OK]
testExecuteFailures_3 ... [OK]
testExecuteFailures_4 ... [OK]
testExecuteFailures_5 ... [OK]
testExecuteFailures_6 ... [OK]
testGetIDs ... [OK]
testGetResultAll ... [OK]
testGetResultDefault ... [OK]
testGetResultFailure ... [OK]
testGetSetProperties ... [OK]
testIEngineMultiplexerDeferreds ... [OK]
testIEngineMultiplexerInterfaceMethods ... [OK]
testIMultiEngineInterface ... [OK]
testInvalidEngineID ... [OK]
testNoEnginesRegistered ... [OK]
testPullFunction ... [OK]
testPullFunctionAll ... [OK]
testPushFunction ... [OK]
testPushFunctionAll ... [OK]
testPushPull ... [OK]
testPushPullAll ... [OK]
testPushPullSerialized ... [OK]
testQueueStatus ... [OK]
SynchronousMultiEngineTestCase
testClearProperties ... [OK]
testClearQueue ... [OK]
testDelHasProperties ... [OK]
testExecute ... [OK]
testGetIDs ... [OK]
testGetResult ... [OK]
testGetSetProperties ... [OK]
testISynchronousMultiEngineInterface ... [OK]
testPushPull ... [OK]
testPushPullFunction ... [OK]
testPushPullSerialized ... [OK]
testQueueStatus ... [OK]
testResetAndKeys ... [OK]
test_clear_pending_deferreds ... [OK]
ipython1.kernel.tests.test_multienginexmlrpc
FullSynchronousMultiEngineTestCase
testClearProperties ... [OK]
testClearQueue ... [OK]
testDelHasProperties ... [OK]
testExecute ... [OK]
testGetIDs ... [OK]
testGetResult ... [OK]
testGetSetProperties ... [OK]
testISynchronousMultiEngineInterface ... [OK]
testMap ... [OK]
testMapNonblocking ... [OK]
testPushPull ... [OK]
testPushPullFunction ... [OK]
testPushPullSerialized ... [OK]
testQueueStatus ... [OK]
testResetAndKeys ... [OK]
testRun ... [OK]
testRunNonblocking ... [OK]
testScatterGather ... [OK]
testScatterGatherNonblocking ... [OK]
testScatterGatherNumpy ... [OK]
testScatterGatherNumpyNonblocking ... [OK]
testZipPull ... [OK]
testZipPullNonblocking ... [OK]
test_clear_pending_deferreds ... [OK]
ipython1.kernel.tests.test_newserialized
SerializedTestCase
testNDArraySerialized ... [OK]
testPickleSerialized ... [OK]
testSerializedInterfaces ... [OK]
ipython1.kernel.tests.test_pendingdeferred
PendingDeferredManagerTest
testBasic ... [OK]
test_double_get ... [OK]
test_get_after_callback ... [OK]
test_get_after_errback ... [OK]
test_get_before_callback ... [OK]
test_get_before_errback ... [OK]
test_nested_deferreds ... [OK]
test_noresult_noblock ... [OK]
test_save_get_delete ... [OK]
test_save_then_delete ... [OK]
test_with_callbacks ... [OK]
test_with_errbacks ... [OK]
ipython1.kernel.tests.test_task
BasicTaskControllerTestCase
testAbort ... [OK]
testAbortType ... [OK]
testClears ... [OK]
testRecoveryTasks ... [OK]
testSetupNS ... [OK]
testSimpleRetries ... [OK]
testTaskIDs ... [OK]
testTaskResults ... [OK]
ipython1.kernel.tests.test_taskxmlrpc
TaskTest
testAbort ... [OK]
testAbortType ... [OK]
testClears ... [OK]
testRecoveryTasks ... [OK]
testSetupNS ... [OK]
testSimpleRetries ... [OK]
testTaskIDs ... [OK]
testTaskResults ... [OK]
ipython1.notebook.tests.test_notebook
MissingSQLAlchemy
testSkipNBTests ... [OK]
===============================================================================
[FAIL]: ipython1.daemon.tests.test_daemonservice.BasicDaemonServiceTest.testShutdown
Traceback (most recent call last):
File "/Users/barry/Development/vendors/ipython1-dev/ipython1/daemon/tests/daemonservicetest.py",
line 172, in <lambda>
d.addCallback(lambda r: self.assertEquals(len(r), len(validCommands)))
twisted.trial.unittest.FailTest: not equal:
a = 1
b = 3
===============================================================================
[ERROR]: ipython1.kernel.tests.test_enginepb.EnginePBTest.testGetResult_3
Traceback (most recent call last):
Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean.
Selectables:
<Broker #0 on 10201>
-------------------------------------------------------------------------------
Ran 339 tests in 37.882s
FAILED (failures=1, errors=1, successes=338)
On Tue, Apr 1, 2008 at 7:55 PM, Barry Wark <barrywark@gmail.com> wrote:
> Same on OS X. Installation is easy (via setuptools or distutils). If I
> find time in the next day or two, I'll make a twisted8 branch of
> ipython1-dev and will try to get things working. Brian, shoot me a
> note if you're going to do the same; I'm sure your efforts will be
> more efficient than mine.
>
> barry
>
>
>
> On Tue, Apr 1, 2008 at 7:11 PM, Glenn H Tarbox, PhD <glenn@tarbox.org> wrote:
> > I don't fully understand all the issues with setuptools and the variants
> > other than there is a substantial debate. I've seen threads and IRC
> > traffic on this on the twisted channels and elsewhere so I know there
> > are issues.
> >
> > However, I've been running trunk Twisted for a while... 8.0 did bring a
> > number of fixes but the rather dramatic jump in numbering is almost
> > entirely about changing the version numbering scheme itself (the 8 is
> > for 2008), not a rearchitecture.
> >
> > By the time code makes it to the trunk on Twisted, its pretty solid.
> > I've had no trouble and given the number of tests and buildbots (I host
> > 4), I'd be surprised if we found significant issues.
> >
> > On linux the installation is trivial and solid... can't speak to the
> > other platforms.
> >
> > -glenn
> >
> >
> >
> >
> > On Wed, 2008-04-02 at 01:26 +0200, Gael Varoquaux wrote:
> > > On Tue, Apr 01, 2008 at 04:11:52PM -0700, Barry Wark wrote:
> > > > Just to play devil's advocate, it's not our fault that linux distros
> > > > lag behind in their packaged version of Twisted ;)
> > >
> > > How old is the twisted 8.0 release? I have the feeling it is only a
> > > couple of weeks old. In this case you can't call not packaging in a
> > > stable release lagging behind, but simply normal procedure of validating
> > > before shipping. Do you run mission-critical servers? Do you know what it
> > > means to have a lab stopped from working if their is a flaw on the
> > > packages you supported on one of your servers. I can tell you, it feels
> > > very bad. So supporting leading edge is great when you are dealing with
> > > your own box, and you are a devlopper happy to play around, but elsewhere
> > > more conservative decisions can also make sense.
> > >
> > > > On the more practical side, why not use Python's pacakge system (i.e.
> > > > setuptools) to install Twisted (I'd guess that all linux distros that
> > > > would include ipython would also have setuptools packages)?
> > >
> > > Because it s not Python's package system. It is a hack to work around the
> > > fact that Python has no package system. It induces a crazy amount of side
> > > effect and misbehaviors. Don't get me wrong, I use setuptools a lot, and
> > > appreciate the fonctionnality they add, but I can hardly see them as a
> > > robust solution for packaging. It is funny you should mention them, AFAIK
> > > until this (leading edge) release, twisted itself could not be installed
> > > using setuptools.
> > >
> > > I am not sure if you have followed, but currently setuptools are a
> > > burning subject. IMHO Python packaging is a burning subject, and I am
> > > tired of loosing a ridiculous amount of time to deal with different
> > > version of libraries. I am afraid there is no good solution. Provide
> > > several almost good solutions is a good idea, and setuptools do figure
> > > amongst these, but I must admit I wouldn't force people to rely on
> > > setuptools. I bites back.
> > >
> > > > using a setuptools-compatible Twisted might allow the ipython1
> > > > installer to install (maybe even precompiled) Twisted eggs if Twisted
> > > > isn't present. Just a thought.
> > >
> > > This kind of reasonning has brought setuptools to what it is currently:
> > > something very problematic on secure and high-reliability servers. Indeed
> > > you seem to be suggesting that the installer will be doing some magic to
> > > download the requirements if they are not their. Think about it, this is
> > > both a unacceptable security hole, and something that forbids any kind of
> > > alternate packaging (for instance for automated deployement on a
> > > cluster).
> > >
> > > I am just trying to warn people that setuptools is a neat toy, but not a
> > > solution for everybody. I use it a lot on my development boxes, but never
> > > on my servers.
> > >
> > > My 2 cents,
> > >
> > > Gaël
> >
> > > _______________________________________________
> > > IPython-dev mailing list
> > > IPython-dev@scipy.org
> > > http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev
> > --
> >
> > Glenn H. Tarbox, PhD | Don't worry about people stealing your ideas. If your ideas
> > 206-494-0819 | are any good, you'll have to ram them down people's throats
> > glenn@tarbox.org (gtalk) + ghtdak on aim/freenode | ^ Howard Aiken, IBM engineer
> >
> >
> >
> >
> > _______________________________________________
> > IPython-dev mailing list
> > IPython-dev@scipy.org
> > http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev
> >
>