Aha, that does make sense... And yes the Django import failed. My PATH has 
Python version 3.4 on it which should have been a dead giveaway since Sage 
runs Python 2.6? Or 2.7 I believe?

Would you recommend that I attempt to use kcrisman's answer, or try to 
install Django in Sage's Python, OR should I use sage notebook?

On Wednesday, July 9, 2014 11:18:35 AM UTC-4, Nils Bruin wrote:
>
> On Tuesday, July 8, 2014 11:53:33 AM UTC-7, Jole Bradbury wrote:
>>
>> I have a Django project with 
>> views.py:
>>
>> #!/usr/bin/env sage -python
>>
>> from django.shortcuts import render
>> from django.http import HttpResponse
>> import sys
>> from django.http import HttpRequest
>> from django.template import RequestContext, loaders
>> sys.path.append('/Users/Jole/Desktop/django_proj/mysite/sage/src/bin')
>> sys.path.append('/Users/Jole/Desktop/django_proj/mysite/sage/')
>> from sage.all import *
>>
>  
> Unfortunately, when I fire up my Django server on localhost, I get: No 
> module named sage.all
>
> As an error message. As you can see I have already tried appending to the 
> path. My Python Path includes sage and I can see this on my Django page, 
> however my "PATH" is 
> PATH
>
> '/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin'
>
>
>
> That's not the path that `sage -python` would set up, so my guess is that 
> `views.py` doesn't actually get *executed* (and hence run in a way 
> equivalent to `sage -python views.py`), but instead gets loaded/interpreted 
> by whatever python is running django. You should probably try and execute
>
> sage -python -c 'import django.shortcuts'
>
> my guess is that that would fail, proving that you didn't install django 
> in sage's python and hence prove that your script isn't being executed by 
> sage's python, since that line seems to execute properly in your situation.
>
> If you want to use both django and sage in the same python, you have to 
> ensure that both are available to the same python. The easier way to 
> accomplish that is probably to install django in sage's python, since sage 
> has its own python for a reason. I have no experience with django, nor a 
> clear idea what it does, so I have no idea whether it's a good/feasible 
> plan to mix the two. If django is a web-server, then you should probably 
> tread very carefully. Math software and web services mix badly, because 
> math software is usually written with no concern for security (it's written 
> for a situation where one trusts the user), but for web software security 
> is vital.
>
> Things like sagecell and MathCloud put a *lot* of work in mitigating the 
> security holes that are virtually unavoidable in making large parts of math 
> software available via web services.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to