# Why do I get the OSError: [Errno2] when I try to run a .sage file

Hello.

I'm new to SageMath and just installed it. Unfortunately I'm not too concerned with the importance of the information you might need to help me out - sorry for that.

So I have Windows 10 and I installed SageMath via These pre- built binaries if that's what it is called. I used the sagetex package to create a .sage file and I tried to run it with sage obviously. Therefore, I opened the Shell and typed

sage 'C:/Users/scheu/OneDrive/Desktop/sagetex.sage'


with sagetex.sage being my .sage file and I'm getting the following:

    Traceback (most recent call last):

File "/opt/sagemath-8.6/src/bin/sage-preparse", line 245, in <module>

do_preparse(f)

File "/opt/sagemath-8.6/src/bin/sage-preparse", line 137, in do_preparse

with atomic_write(fname) as f:

File "/opt/sagemath-8.6/local/lib/python2.7/site-packages/sage/misc/temporary_file.py", line 422, in __enter__

fd, name = tempfile.mkstemp(dir=self.tmpdir)

File "/opt/sagemath-8.6/local/lib/python2.7/tempfile.py", line 314, in mkstemp

return _mkstemp_inner(dir, prefix, suffix, flags)

File "/opt/sagemath-8.6/local/lib/python2.7/tempfile.py", line 244, in _mkstemp_inner

fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/home/sage/C:/Users/scheu/OneDrive/Desktop/Programme/LaTeX Files,Texmaker/Hilffiles/sagetex test/tmpfPP2mL'


By the way, I am sorry for putting the Code in my Question that way, I had just no idea how to Format this Code as one Code :(

Anyways, it says something I don't quite understand and I've already looked up the same Question, but it didn't help…

edit retag close merge delete

Sort by » oldest newest most voted

Sage for Windows runs in a UNIX emulation environment (Cygwin) and by default mounts your Windows home directory (in your case C:\Users\scheu) to /home/sage. So it will be easier to just write sage ~/OneDrive/Desktop/sagetex.sage. There are some known bugs in Python on Cywin where if you pass something that is not recognizable as a UNIX-style absolute path (i.e. starting with / then it will treat it as a relative path and append it to your current directory (which in your case is already /home/sage.

more

Hello, there seems to be a couple of problems, but I am not completely sure:

1. I see in the last line of your output the address "/LaTeX Files,Texmaker". That comma shouldn't be there, it is not allowed in folders names.
2. Also in the last line, I can see "/home/sage/C:/Users/". That seems to be a Linux address, not Windows. In many other parts I can see directory names for Linux. For example, "/opt/sagemath-8.6/local/lib/python2.7/tempfile.py"; "/opt" is a default folder in Linux. I don't know if these folders are created using the SageMath installer; if not, my guess is that you downloaded a binary for the wrong OS.

I hope this helps!

more

Hello dseja, thank you for your Response. First of all, I removed the comma of the Folder Name. Unfortunately, Things still don't want to work and I am getting the same error as before. And I am sure that I've installed the Right binary because what you posted is the link from where I have the sage installer.

I have no Explanation why there is this Linux address… Maybe someone knows. Thank you anyways!

( 2019-04-13 09:38:14 +0200 )edit