sage building with python3

333 views
Skip to first unread message

Александр Ватузов

unread,
Nov 2, 2019, 4:40:42 PM11/2/19
to sage-support
Hi! Another question. I have an instruction here https://wiki.sagemath.org/Python3-compatible%20code , how to build sage with python3.While building sage/arith/functions.pyx I had a problem with string "from cysignals.signals cimport sig_check" : sage/arith/functions.pyx:15:0: 'cysignals/signals.pxd' not found

I know that may be files are here: https://github.com/sagemath/cysignals/tree/master/src/cysignals. What I need to do?

Dima Pasechnik

unread,
Nov 2, 2019, 4:52:44 PM11/2/19
to sage-support
once you started mixing up modules from the system Python with Sage's Python modules, all bets are off.

On Sat, 2 Nov 2019, 20:40 Александр Ватузов, <amva...@gmail.com> wrote:
Hi! Another question. I have an instruction here https://wiki.sagemath.org/Python3-compatible%20code , how to build sage with python3.While building sage/arith/functions.pyx I had a problem with string "from cysignals.signals cimport sig_check" : sage/arith/functions.pyx:15:0: 'cysignals/signals.pxd' not found

I know that may be files are here: https://github.com/sagemath/cysignals/tree/master/src/cysignals. What I need to do?

--
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...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/b360ba4d-7de6-4b09-adc7-db3dc0092bd7%40googlegroups.com.

Александр Ватузов

unread,
Nov 2, 2019, 4:59:49 PM11/2/19
to sage-support
Ok, got it. So how I can add some modules to Sage's python3? for example "import six"

суббота, 2 ноября 2019 г., 23:52:44 UTC+3 пользователь Dima Pasechnik написал:
once you started mixing up modules from the system Python with Sage's Python modules, all bets are off.

On Sat, 2 Nov 2019, 20:40 Александр Ватузов, <amva...@gmail.com> wrote:
Hi! Another question. I have an instruction here https://wiki.sagemath.org/Python3-compatible%20code , how to build sage with python3.While building sage/arith/functions.pyx I had a problem with string "from cysignals.signals cimport sig_check" : sage/arith/functions.pyx:15:0: 'cysignals/signals.pxd' not found

I know that may be files are here: https://github.com/sagemath/cysignals/tree/master/src/cysignals. What I need to do?

--
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-s...@googlegroups.com.

Dima Pasechnik

unread,
Nov 2, 2019, 5:49:21 PM11/2/19
to sage-support
you can install modules into Sage's Python by

./sage --pip install <module name>

You can also run Sage's shell with

./sage -sh

There "python" is Sage's Python, "pip" manages its modules, etc.




To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/2e4b8ea2-1c07-42b3-bbea-30985bff572a%40googlegroups.com.

Александр Ватузов

unread,
Nov 2, 2019, 5:58:00 PM11/2/19
to sage-support
yes, found it. Now I can "./sage -pip install cysignals", I think thats all, thank very much! But next sage will be on python3 by standart options :)

воскресенье, 3 ноября 2019 г., 0:49:21 UTC+3 пользователь Dima Pasechnik написал:

Александр Ватузов

unread,
Nov 2, 2019, 7:35:52 PM11/2/19
to sage-support
1 more question: how to "cimport gmpy2" on files like sage/rings/complex_double.pyx ? I think I need install it not for ./sage

воскресенье, 3 ноября 2019 г., 0:49:21 UTC+3 пользователь Dima Pasechnik написал:

Simon King

unread,
Nov 3, 2019, 3:52:01 PM11/3/19
to sage-s...@googlegroups.com
Hi Dima,

On 2019-11-02, Dima Pasechnik <dim...@gmail.com> wrote:
> There "python" is Sage's Python, "pip" manages its modules, etc.

IIRC, that's not true for Sage's py-3 version. Namely, if one opens a
sage-with-py-3 shell, then "python" still means "python2". So, if you
really want Sage-with-py-3's Python installation, you should either do
"sage -python" or (in a Sage shell) "python3". And I think the same
holds for pip.

Best regards,
Simon

Dima Pasechnik

unread,
Nov 3, 2019, 3:57:02 PM11/3/19
to sage-support
I am surprised we still even build python2 by default. Isn't it an optional package?

--
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...@googlegroups.com.

John H Palmieri

unread,
Nov 3, 2019, 5:10:07 PM11/3/19
to sage-support
Since trac #28426 (merged pretty recently), when building with Python 3, we do not build Python 2. Before that, we always built both.


On Sunday, November 3, 2019 at 12:57:02 PM UTC-8, Dima Pasechnik wrote:
I am surprised we still even build python2 by default. Isn't it an optional package?

On Sun, 3 Nov 2019, 20:52 Simon King, <simo...@uni-jena.de> wrote:
Hi Dima,

On 2019-11-02, Dima Pasechnik <dim...@gmail.com> wrote:
> There "python" is Sage's Python, "pip" manages its modules, etc.

IIRC, that's not true for Sage's py-3 version. Namely, if one opens a
sage-with-py-3 shell, then "python" still means "python2". So, if you
really want Sage-with-py-3's Python installation, you should either do
"sage -python" or (in a Sage shell) "python3". And I think the same
holds for pip.

Best regards,
Simon

--
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-s...@googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 4:27:35 AM11/4/19
to sage-support
"./sage -pip install cython" installs cython for python3: Requirement already satisfied: cython in ./local/lib/python3.7/site-packages (0.29.14); and
"Requirement already satisfied: gmpy2 in ./local/lib/python3.7/site-packages (2.0.8)"

So I think that, may be, cython need gmpy2 installed in other way? I still have na error:

[sagelib-8.9] cimport gmpy2
[sagelib-8.9]        ^
[sagelib-8.9] ------------------------------------------------------------
[sagelib-8.9] 
[sagelib-8.9] sage/rings/complex_double.pyx:110:8: 'gmpy2.pxd' not found




воскресенье, 3 ноября 2019 г., 23:52:01 UTC+3 пользователь Simon King написал:

Dima Pasechnik

unread,
Nov 4, 2019, 4:35:17 AM11/4/19
to sage-support


On Mon, 4 Nov 2019, 09:27 Александр Ватузов, <amva...@gmail.com> wrote:
"./sage -pip install cython" installs cython for python3: Requirement already satisfied: cython in ./local/lib/python3.7/site-packages (0.29.14); and
"Requirement already satisfied: gmpy2 in ./local/lib/python3.7/site-packages (2.0.8)"

So I think that, may be, cython need gmpy2 installed in other way? I still have na error:
try

./sage -f gmpy2


[sagelib-8.9] cimport gmpy2
[sagelib-8.9]        ^
[sagelib-8.9] ------------------------------------------------------------
[sagelib-8.9] 
[sagelib-8.9] sage/rings/complex_double.pyx:110:8: 'gmpy2.pxd' not found




воскресенье, 3 ноября 2019 г., 23:52:01 UTC+3 пользователь Simon King написал:
Hi Dima,

On 2019-11-02, Dima Pasechnik <dim...@gmail.com> wrote:
> There "python" is Sage's Python, "pip" manages its modules, etc.

IIRC, that's not true for Sage's py-3 version. Namely, if one opens a
sage-with-py-3 shell, then "python" still means "python2". So, if you
really want Sage-with-py-3's Python installation, you should either do
"sage -python" or (in a Sage shell) "python3". And I think the same
holds for pip.

Best regards,
Simon

--
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...@googlegroups.com.
Message has been deleted
Message has been deleted

Dima Pasechnik

unread,
Nov 4, 2019, 4:51:24 AM11/4/19
to sage-support


On Mon, 4 Nov 2019, 09:47 Александр Ватузов, <amva...@gmail.com> wrote:
it builds cython lib?
yes

понедельник, 4 ноября 2019 г., 12:35:17 UTC+3 пользователь Dima Pasechnik написал:


On Mon, 4 Nov 2019, 09:27 Александр Ватузов, <amva...@gmail.com> wrote:
"./sage -pip install cython" installs cython for python3: Requirement already satisfied: cython in ./local/lib/python3.7/site-packages (0.29.14); and
"Requirement already satisfied: gmpy2 in ./local/lib/python3.7/site-packages (2.0.8)"

So I think that, may be, cython need gmpy2 installed in other way? I still have na error:
try

./sage -f gmpy2


[sagelib-8.9] cimport gmpy2
[sagelib-8.9]        ^
[sagelib-8.9] ------------------------------------------------------------
[sagelib-8.9] 
[sagelib-8.9] sage/rings/complex_double.pyx:110:8: 'gmpy2.pxd' not found




воскресенье, 3 ноября 2019 г., 23:52:01 UTC+3 пользователь Simon King написал:
Hi Dima,

On 2019-11-02, Dima Pasechnik <dim...@gmail.com> wrote:
> There "python" is Sage's Python, "pip" manages its modules, etc.

IIRC, that's not true for Sage's py-3 version. Namely, if one opens a
sage-with-py-3 shell, then "python" still means "python2". So, if you
really want Sage-with-py-3's Python installation, you should either do
"sage -python" or (in a Sage shell) "python3". And I think the same
holds for pip.

Best regards,
Simon

--
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-s...@googlegroups.com.

--
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...@googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 6:47:05 AM11/4/19
to sage-support
sage building is sucsess now. But running sage makes error

cannot import name '_baseclass_reprs' from 'IPython.lib.pretty'

it looks like new libreary, but don't undestend, which one

понедельник, 4 ноября 2019 г., 12:51:24 UTC+3 пользователь Dima Pasechnik написал:

Александр Ватузов

unread,
Nov 4, 2019, 6:50:01 AM11/4/19
to sage-support
when I try to import:
>>> import IPython.lib.pretty._
IPython.lib.pretty._PrettyPrinterBase(       IPython.lib.pretty._exception_base(          IPython.lib.pretty._safe_getattr(
IPython.lib.pretty._counter_pprint(          IPython.lib.pretty._exception_pprint(        IPython.lib.pretty._seq_pprinter_factory(
IPython.lib.pretty._default_pprint(          IPython.lib.pretty._function_pprint(         IPython.lib.pretty._set_pprinter_factory(
IPython.lib.pretty._defaultdict_pprint(      IPython.lib.pretty._get_mro(                 IPython.lib.pretty._singleton_pprinters
IPython.lib.pretty._deferred_type_pprinters  IPython.lib.pretty._ordereddict_pprint(      IPython.lib.pretty._sorted_for_pprint(
IPython.lib.pretty._deque_pprint(            IPython.lib.pretty._re_pattern_pprint(       IPython.lib.pretty._super_pprint(
IPython.lib.pretty._dict_pprinter_factory(   IPython.lib.pretty._re_pattern_type(         IPython.lib.pretty._type_pprint(
IPython.lib.pretty._env_type(                IPython.lib.pretty._repr_pprint(             IPython.lib.pretty._type_pprinters

понедельник, 4 ноября 2019 г., 14:47:05 UTC+3 пользователь Александр Ватузов написал:

Dima Pasechnik

unread,
Nov 4, 2019, 6:56:35 AM11/4/19
to sage-support
try

./sage -f ipython

followed by

make build
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/6b1f50b0-0845-4540-b501-7788491b2079%40googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 8:05:18 AM11/4/19
to sage-support
next error:

when I try:
import prompt_toolkit

ImportError: cannot import name 'AsyncGeneratorItem' from 'prompt_toolkit.eventloop' (/home/nouret/SageMath_3/local/lib/python3.7/site-packages/prompt_toolkit/eventloop/__init__.py)

AsyncGeneratorItem is defined in ./local/lib/python3.7/site-packages/prompt_toolkit/eventloop/async_generator.py

/home/nouret/SageMath_3/local/lib/python3.7/site-packages/prompt_toolkit/eventloop/__init__.py is empty

понедельник, 4 ноября 2019 г., 14:56:35 UTC+3 пользователь Dima Pasechnik написал:

Dima Pasechnik

unread,
Nov 4, 2019, 9:37:54 AM11/4/19
to sage-support
looks like you have a bad mix of python packages in a number of locations.

certainly you can try something like

./sage --pip install prompt_toolkit


To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/c934a2a9-52d0-49a5-bc31-67ad6832c22d%40googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 9:40:50 AM11/4/19
to sage-support
Done, and "./sage -f prompt_toolkit" too

понедельник, 4 ноября 2019 г., 17:37:54 UTC+3 пользователь Dima Pasechnik написал:

Александр Ватузов

unread,
Nov 4, 2019, 10:44:10 AM11/4/19
to sage-support
Another error:

jupyter-console 6.0.0 has requirement prompt-toolkit<2.1.0,>=2.0.0, but you'll have prompt-toolkit 1.0.15 which is incompatible.
ipython 7.9.0 has requirement prompt-toolkit<2.1.0,>=2.0.0, but you'll have prompt-toolkit 1.0.15 which is incompatible.

понедельник, 4 ноября 2019 г., 17:37:54 UTC+3 пользователь Dima Pasechnik написал:

Dima Pasechnik

unread,
Nov 4, 2019, 10:56:00 AM11/4/19
to sage-support
Well, it is not clear what you are trying to do. Yes, if you want to use more recent than used in Sage (for compatibility with Python2 reasons) packages, then various things need to be adjusted. It has to be done in a systematic way.



To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/8413e3e9-d2bf-4ac5-bbb2-be8485c45ba1%40googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 11:21:04 AM11/4/19
to sage-support
No, I am building sage only for using it with python3. So I need to install ipython and prompt_toolkit

понедельник, 4 ноября 2019 г., 18:56:00 UTC+3 пользователь Dima Pasechnik написал:

Александр Ватузов

unread,
Nov 4, 2019, 11:23:45 AM11/4/19
to sage-support
More: when I pip install prompt_toolkit, is installing prompt-toolkit 1.0.15. But ipython says:

Installing collected packages: prompt-toolkit
  Found existing installation: prompt-toolkit 1.0.15
    Uninstalling prompt-toolkit-1.0.15:
      Successfully uninstalled prompt-toolkit-1.0.15
Successfully installed prompt-toolkit-2.0.10


понедельник, 4 ноября 2019 г., 18:56:00 UTC+3 пользователь Dima Pasechnik написал:

John H Palmieri

unread,
Nov 4, 2019, 1:18:05 PM11/4/19
to sage-support
If you want to build Sage for use with Python 3, you should do

$ make distclean
$ ./configure --with-python=3
$ make

Where does this fail for you?

Dima Pasechnik

unread,
Nov 4, 2019, 1:27:02 PM11/4/19
to sage-support
On Mon, Nov 4, 2019 at 6:18 PM John H Palmieri <jhpalm...@gmail.com> wrote:
>
> If you want to build Sage for use with Python 3, you should do
>
> $ make distclean
> $ ./configure --with-python=3
> $ make
>
> Where does this fail for you?

he wanted to use Python3 modules from system's Python3.
Without extreme care, and quite possibly source code changes in Sage,
this won't work.

Incidentally this brings up the question on how one should deal with
outdated (as they had to by Python2-compatible)
Sage's iPython and Jupyter.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/708b82f1-9092-4adf-92c6-f4b8710b8c56%40googlegroups.com.

Александр Ватузов

unread,
Nov 4, 2019, 2:01:24 PM11/4/19
to sage-support
No. I think I found my big mistake, but I need some time now for reinstall.

Error on this page https://wiki.sagemath.org/Python3-compatible%20code

понедельник, 4 ноября 2019 г., 21:27:02 UTC+3 пользователь Dima Pasechnik написал:

Nils Bruin

unread,
Nov 4, 2019, 5:25:50 PM11/4/19
to sage-support
On Monday, November 4, 2019 at 10:27:02 AM UTC-8, Dima Pasechnik wrote:
Incidentally this brings up the question on how one should deal with
outdated (as they had to by Python2-compatible)
Sage's iPython and Jupyter.

 What has worked for me for a long time is to install the sage ipython kernel for the system-wide jupyter install (or rather, just installing it on a personal level). That has worked quite well with just the Py3-based jupyter that fedora ships. The sage kernel would just run on its own python2, and jupyter uses its normal pipe-based communication with the kernel. It seems that the jupyter notebook kernel protocol is sufficiently backward compatible that it was happy to run between a modern py3-jupyter server and sage's (outdated?) jupyter kernel. Importing the extensions that sage uses into the py3-jupyter server doesn't even seem to be a problem.

Perhaps that's a useful/encouraging data point??

Dima Pasechnik

unread,
Nov 4, 2019, 5:53:18 PM11/4/19
to sage-support
Is Sage Jupyter kernel pipe-based?
(Jupyter uses zeromq, which can do inproc communication, and as far as I know some kernels do this)



Perhaps that's a useful/encouraging data point??

--
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...@googlegroups.com.

Nils Bruin

unread,
Nov 4, 2019, 10:33:26 PM11/4/19
to sage-support
On Monday, November 4, 2019 at 2:53:18 PM UTC-8, Dima Pasechnik wrote:
Is Sage Jupyter kernel pipe-based?
(Jupyter uses zeromq, which can do inproc communication, and as far as I know some kernels do this)

Oh sorry. Perhaps. I didn't investigate. I'd expect that the jupyter ipython kernel uses the most advanced communication protocol. In any case, it's a form of IPC, so the server and the kernel can easily be different version -- no binary compatibility required.

Александр Ватузов

unread,
Nov 4, 2019, 11:37:31 PM11/4/19
to sage-support
Hi! Do you know, how to change this page? https://wiki.sagemath.org/Python3-compatible%20code : here is an error.

вторник, 5 ноября 2019 г., 6:33:26 UTC+3 пользователь Nils Bruin написал:
Reply all
Reply to author
Forward
0 new messages