Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 572482 - app-emacs/pymacs Does Not Allow to Change the Python Interpreter
Summary: app-emacs/pymacs Does Not Allow to Change the Python Interpreter
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: GNU Emacs project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-21 01:15 UTC by David E. Narváez
Modified: 2020-04-20 07:09 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David E. Narváez 2016-01-21 01:15:53 UTC
I have app-emacs/pymacs installed for Python 2.7 and 3.4

$ equery uses pymacs
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for app-emacs/pymacs-0.25-r1:
 U I
 - - doc                      : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 + + python_targets_python2_7 : Build with Python 2.7
 - - python_targets_python3_3 : Build with Python 3.3
 + + python_targets_python3_4 : Build with Python 3.4

but the interpreter in /usr/share/emacs/site-lisp/pymacs/pymacs.el is dead set to python3.4

$ grep -C5 pymacs-python-command /usr/share/emacs/site-lisp/pymacs/pymacs.el

  )


;;; Published variables and functions.

(defvar pymacs-python-command "python3.4"
  "Shell command used to start Python interpreter.")

(defvar pymacs-load-path nil
  "List of additional directories to search for Python modules.
The directories listed will be searched first, in the order given.")
--
        ;; Launch the Pymacs helper.
        (let ((process
               (apply 'start-process "pymacs" buffer
                      (let ((python (getenv "PYMACS_PYTHON")))
                        (if (or (null python) (equal python ""))
                            pymacs-python-command
                          python))
                      "-c" (concat "import sys;"
                                   " from Pymacs import main;"
                                   " main(*sys.argv[1:])")
                      (append

Could that file be patched to point to python so that I could use eselect python to switch what Python will pymacs run?

Reproducible: Always
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2016-01-22 12:03:32 UTC
commit 9fca248aac5224ebcaef59eb88a50d831eb3e495
Author: Justin Lecher <jlec@gentoo.org>
Date:   Fri Jan 22 13:03:06 2016 +0100

    app-emacs/pymacs: Make python command unversioned

    Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=572482

    Package-Manager: portage-2.2.27
    Signed-off-by: Justin Lecher <jlec@gentoo.org>

    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fca248aac5224ebcaef59eb88a50d831eb3e495
Comment 2 Ulrich Müller gentoo-dev 2020-04-20 07:09:04 UTC
If app-emacs/pymacs is installed with PYTHON_TARGETS="python3_6 python3_7" but /usr/bin/python is Python 3.8, then Pymacs.py won't be found in the path. So, I think this change was incorrect and I have reverted it to use ${EPYTHON} as the default for pymacs-python-command, in app-emacs/pymacs-0.26-r1:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f290e6b53c2707d45bd6079c373ea99d7a896896

To use a different Python interpreter, both the pymacs-python-command elisp variable and the PYMACS_PYTHON environment variable are available for customisation.