That's because Travis installs SymPy as a regular Python module, and you can't have a bin/ directory there since that might collide with other Python modules.

I'm having a really big problem with that: I have a unit test utilities/tests/test_module_imports.py that needs to call the script bin/diagnose_imports. There are several elements in this situation that could be changed; I don't know which one would be best, so I need feedback.

Solution 1: Don't install SymPy as a Python module. Leave SymPy in whatever directory Travis downloads from github and run the tests from there; that's what developers do anyway.

Solution 2: Somehow tell the tests where the binaries (such as isympy) are installed. Install the diagnostic script alongside isympy. This allows end users to run the tests as well, so I'd prefer that approach; I just don't know whether it's feasible.

Solution 3: Move the diagnostic code into the sympy/utilities directory. Let both unit test and bin/diagnose_imports import that module. Make sure that utilities/__init__.py does NOT import the new diagnostic Python code since it is not supposed to be part of SymPy. On the plus side, this does not require any changes to SymPy's infrastructure. On the minus side, I don't really like adding a merely diagnostic module outside a test/ directory. (Well, maybe the real problem is that bin/ contains both test and production code.)

Feedback appreciated.

--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to