Le 16/04/17 à 15:19, Wolfgang Maier a écrit :
On 16.04.2017 10:56, Vincent Vande Vyvre wrote:
Hi,

I'm using Python 3.5 and 3.6 in venv and I see a strange behaviour in
the interactive interpreter.

The arrow keys can't be used to move the cursor into the current line of
code or to rewrite the last lines.

With the 3.5 I can use the backspace and erase the code but not in 3.6

Python 3.5.2 (default, Dec 19 2016, 11:46:33)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
f = "kjhfgt"^[[D            # Left Arrow Key
^[[A                        # Up Arrow Key


Python 3.6.1 (default, Apr 12 2017, 11:39:17)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
f = "lkjgh"
^[[A^[[B                    # Up Arrow Key and Backspace Key
  File "<stdin>", line 1

    ^
SyntaxError: invalid syntax



Make sure you build Python (I guess you did this for 3.6, but are probably using your OS Python3.5) with readline. This needs the dev version of the readline library installed at build time. So, step 1 would be to get the library, then rebuild Python3.6 by running:

1) make clean
2) ./configure
3) make

It could be worthwhile checking for other missing optional C libraries first though. If you want to make sure you have all of them, follow the steps described here:

https://docs.python.org/devguide/setup.html#build-dependencies

Best,
Wolfgang



No, both are in venv, my system version is the 3.4.

Anyway, after "apt-get build-dep python3.4" and following your advice all works as expected.

Thanks Wolfgang.


Incidentally, with the 3.6 I've added the argument "--enable-optimizations" to the configure.

The unitest were executed and fail with hashlib, then it rerun some compilation, rerun the unittest, refail with hashlib, recompile some modules and finish without error. (see a little part of the log below)

I don't know if this is relevant ...


Vincent


----------------------------------------

0:06:47 [161/405] test_hash
0:06:49 [162/405] test_hashlib
Fatal Python error: Segmentation fault

Current thread 0x00002af5c0cfa380 (most recent call first):
File "/home/vincent/CPython/Python-3.6.1/Lib/test/support/__init__.py", line 1508 in gc_collect File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/save_env.py", line 271 in __exit__ File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/runtest.py", line 168 in runtest_inner File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/runtest.py", line 129 in runtest File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/main.py", line 343 in run_tests_sequential File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/main.py", line 418 in run_tests File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/main.py", line 490 in _main File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/main.py", line 468 in main File "/home/vincent/CPython/Python-3.6.1/Lib/test/libregrtest/main.py", line 532 in main File "/home/vincent/CPython/Python-3.6.1/Lib/test/regrtest.py", line 46 in _main File "/home/vincent/CPython/Python-3.6.1/Lib/test/regrtest.py", line 50 in <module> File "/home/vincent/CPython/Python-3.6.1/Lib/runpy.py", line 85 in _run_code File "/home/vincent/CPython/Python-3.6.1/Lib/runpy.py", line 193 in _run_module_as_main
Segmentation fault (core dumped)
make[1]: quittant le répertoire « /home/vincent/CPython/Python-3.6.1 »
make build_all_merge_profile
make[1]: entrant dans le répertoire « /home/vincent/CPython/Python-3.6.1 »
true
make[1]: quittant le répertoire « /home/vincent/CPython/Python-3.6.1 »
Rebuilding with profile guided optimizations:
make clean
make[1]: entrant dans le répertoire « /home/vincent/CPython/Python-3.6.1 »
find . -depth -name '__pycache__' -exec rm -rf {} ';'
find . -name '*.py[co]' -exec rm -f {} ';'
find . -name '*.[oa]' -exec rm -f {} ';'
find . -name '*.s[ol]' -exec rm -f {} ';'
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
find build -name '*.py' -exec rm -f {} ';' || true
find build -name '*.py[co]' -exec rm -f {} ';' || true
rm -f pybuilddir.txt
rm -f Lib/lib2to3/*Grammar*.pickle
rm -f Programs/_testembed Programs/_freeze_importlib
find build -type f -a ! -name '*.gc??' -exec rm -f {} ';'
rm -f Include/pydtrace_probes.h
make[1]: quittant le répertoire « /home/vincent/CPython/Python-3.6.1 »
make build_all_use_profile
make[1]: entrant dans le répertoire « /home/vincent/CPython/Python-3.6.1 »
make build_all CFLAGS_NODIST=" -fprofile-use -fprofile-correction " LDFLAGS=" "
make[2]: entrant dans le répertoire « /home/vincent/CPython/Python-3.6.1 »
gcc -pthread -c -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -fprofile-use -fprofile-correction -I. -I./Include -DPy_BUILD_CORE -o Programs/python.o ./Programs/python.c

....

-------------------------------------------------------

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to