From unknown Sun Aug 17 22:01:01 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#31410 <31410@debbugs.gnu.org> To: bug#31410 <31410@debbugs.gnu.org> Subject: Status: 25.3; Python.el: Support for Python virtual environment (venv) Reply-To: bug#31410 <31410@debbugs.gnu.org> Date: Mon, 18 Aug 2025 05:01:01 +0000 retitle 31410 25.3; Python.el: Support for Python virtual environment (venv) reassign 31410 emacs submitter 31410 seb@k-7.ch (S=C3=A9bastien Gendre) severity 31410 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Thu May 10 14:01:07 2018 Received: (at submit) by debbugs.gnu.org; 10 May 2018 18:01:08 +0000 Received: from localhost ([127.0.0.1]:56818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fGpsI-0000Ys-Rz for submit@debbugs.gnu.org; Thu, 10 May 2018 14:01:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fGotj-0007WM-Sk for submit@debbugs.gnu.org; Thu, 10 May 2018 12:58:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGotc-0007mQ-A5 for submit@debbugs.gnu.org; Thu, 10 May 2018 12:58:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57785) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fGotc-0007mK-64 for submit@debbugs.gnu.org; Thu, 10 May 2018 12:58:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGotZ-0001uV-4h for bug-gnu-emacs@gnu.org; Thu, 10 May 2018 12:58:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGotU-0007kU-OC for bug-gnu-emacs@gnu.org; Thu, 10 May 2018 12:58:21 -0400 Received: from 50-102-31-185.ftth.cust.kwaoo.net ([185.31.102.50]:60262 helo=k-7.ch) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fGotU-0007jq-El for bug-gnu-emacs@gnu.org; Thu, 10 May 2018 12:58:16 -0400 Received: from bilbon (alfred.local [192.168.1.1]) by k-7.ch (OpenSMTPD) with ESMTPSA id a6a765ec (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Thu, 10 May 2018 16:58:13 +0000 (UTC) From: seb@k-7.ch (=?utf-8?Q?S=C3=A9bastien?= Gendre) To: bug-gnu-emacs@gnu.org Subject: 25.3; Python.el: Support for Python virtual environment (venv) Date: Thu, 10 May 2018 18:58:13 +0200 Message-ID: <87r2mj30t6.fsf@k-7.ch> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 10 May 2018 14:01:03 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.1 (-----) When reading Python.el source code, I see it's support Python virtual environment by setting the variable 'python-shell-vertualenv-root' It would be more discoverable if we have an interactive function to do that. Somthing like 'python-virtualenv' or similar. The must would be to have a key binding for it and eplained it in mode help. Emacs informations: In GNU Emacs 25.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.22.26) of 2018-01-12 built on buildhw-08.phx2.fedoraproject.org Windowing system distributor 'Fedora Project', version 11.0.11906000 Configured using: 'configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no --with-xwidgets --with-modules build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic' LDFLAGS=-Wl,-z,relro PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS Important settings: value of $LANG: fr_CH.utf8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: diff-auto-refine-mode: t winner-mode: t nyan-mode: t projectile-mode: t global-auto-complete-mode: t shell-dirtrack-mode: t org-bullets-mode: t yas-global-mode: t yas-minor-mode: t electric-pair-mode: t show-paren-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Mark set [4 times] Saving file /home/sebastien/Org/Emacs.org... Wrote /home/sebastien/Org/Emacs.org Auto-saving...done Mark set (rectangle mode) Quit Mark set Saving file /home/sebastien/Org/Emacs.org... Wrote /home/sebastien/Org/Emacs.org C-h C-g is undefined Load-path shadows: /home/sebastien/.emacs.d/elpa/htmlize-20161211.1019/htmlize hides /usr/share/emacs/site-lisp/goodies/htmlize /home/sebastien/.emacs.d/elpa/markdown-mode-20170615.1216/markdown-mode hides /usr/share/emacs/site-lisp/goodies/markdown-mode /home/sebastien/.emacs.d/elpa/rpm-spec-mode-20160710.436/rpm-spec-mode hides /usr/share/emacs/site-lisp/rpm-spec-mode/rpm-spec-mode /home/sebastien/.emacs.d/elpa/org-20170918/org-pcomplete hides /usr/share/emacs/25.3/lisp/org/org-pcomplete /home/sebastien/.emacs.d/elpa/org-20170918/ox-latex hides /usr/share/emacs/25.3/lisp/org/ox-latex /home/sebastien/.emacs.d/elpa/org-20170918/org-bbdb hides /usr/share/emacs/25.3/lisp/org/org-bbdb /home/sebastien/.emacs.d/elpa/org-20170918/org-rmail hides /usr/share/emacs/25.3/lisp/org/org-rmail /home/sebastien/.emacs.d/elpa/org-20170918/org-mhe hides /usr/share/emacs/25.3/lisp/org/org-mhe /home/sebastien/.emacs.d/elpa/org-20170918/ob-lisp hides /usr/share/emacs/25.3/lisp/org/ob-lisp /home/sebastien/.emacs.d/elpa/org-20170918/ob-emacs-lisp hides /usr/share/emacs/25.3/lisp/org/ob-emacs-lisp /home/sebastien/.emacs.d/elpa/org-20170918/ob-ocaml hides /usr/share/emacs/25.3/lisp/org/ob-ocaml /home/sebastien/.emacs.d/elpa/org-20170918/ox-publish hides /usr/share/emacs/25.3/lisp/org/ox-publish /home/sebastien/.emacs.d/elpa/org-20170918/ob-eval hides /usr/share/emacs/25.3/lisp/org/ob-eval /home/sebastien/.emacs.d/elpa/org-20170918/org-ctags hides /usr/share/emacs/25.3/lisp/org/org-ctags /home/sebastien/.emacs.d/elpa/org-20170918/ob-C hides /usr/share/emacs/25.3/lisp/org/ob-C /home/sebastien/.emacs.d/elpa/org-20170918/ob-ruby hides /usr/share/emacs/25.3/lisp/org/ob-ruby /home/sebastien/.emacs.d/elpa/org-20170918/ob-css hides /usr/share/emacs/25.3/lisp/org/ob-css /home/sebastien/.emacs.d/elpa/org-20170918/ob-picolisp hides /usr/share/emacs/25.3/lisp/org/ob-picolisp /home/sebastien/.emacs.d/elpa/org-20170918/org-eshell hides /usr/share/emacs/25.3/lisp/org/org-eshell /home/sebastien/.emacs.d/elpa/org-20170918/org-version hides /usr/share/emacs/25.3/lisp/org/org-version /home/sebastien/.emacs.d/elpa/org-20170918/ob-sass hides /usr/share/emacs/25.3/lisp/org/ob-sass /home/sebastien/.emacs.d/elpa/org-20170918/ob-calc hides /usr/share/emacs/25.3/lisp/org/ob-calc /home/sebastien/.emacs.d/elpa/org-20170918/org-info hides /usr/share/emacs/25.3/lisp/org/org-info /home/sebastien/.emacs.d/elpa/org-20170918/ob-java hides /usr/share/emacs/25.3/lisp/org/ob-java /home/sebastien/.emacs.d/elpa/org-20170918/ox-md hides /usr/share/emacs/25.3/lisp/org/ox-md /home/sebastien/.emacs.d/elpa/org-20170918/ob-matlab hides /usr/share/emacs/25.3/lisp/org/ob-matlab /home/sebastien/.emacs.d/elpa/org-20170918/org-feed hides /usr/share/emacs/25.3/lisp/org/org-feed /home/sebastien/.emacs.d/elpa/org-20170918/ob-org hides /usr/share/emacs/25.3/lisp/org/ob-org /home/sebastien/.emacs.d/elpa/org-20170918/ob-maxima hides /usr/share/emacs/25.3/lisp/org/ob-maxima /home/sebastien/.emacs.d/elpa/org-20170918/ob-lob hides /usr/share/emacs/25.3/lisp/org/ob-lob /home/sebastien/.emacs.d/elpa/org-20170918/ox-beamer hides /usr/share/emacs/25.3/lisp/org/ox-beamer /home/sebastien/.emacs.d/elpa/org-20170918/org-mouse hides /usr/share/emacs/25.3/lisp/org/org-mouse /home/sebastien/.emacs.d/elpa/org-20170918/ox hides /usr/share/emacs/25.3/lisp/org/ox /home/sebastien/.emacs.d/elpa/org-20170918/ob-octave hides /usr/share/emacs/25.3/lisp/org/ob-octave /home/sebastien/.emacs.d/elpa/org-20170918/ob-ref hides /usr/share/emacs/25.3/lisp/org/ob-ref /home/sebastien/.emacs.d/elpa/org-20170918/ob-clojure hides /usr/share/emacs/25.3/lisp/org/ob-clojure /home/sebastien/.emacs.d/elpa/org-20170918/ox-icalendar hides /usr/share/emacs/25.3/lisp/org/ox-icalendar /home/sebastien/.emacs.d/elpa/org-20170918/ob-sql hides /usr/share/emacs/25.3/lisp/org/ob-sql /home/sebastien/.emacs.d/elpa/org-20170918/ob-makefile hides /usr/share/emacs/25.3/lisp/org/ob-makefile /home/sebastien/.emacs.d/elpa/org-20170918/ob-io hides /usr/share/emacs/25.3/lisp/org/ob-io /home/sebastien/.emacs.d/elpa/org-20170918/org-table hides /usr/share/emacs/25.3/lisp/org/org-table /home/sebastien/.emacs.d/elpa/org-20170918/ob-plantuml hides /usr/share/emacs/25.3/lisp/org/ob-plantuml /home/sebastien/.emacs.d/elpa/org-20170918/org-entities hides /usr/share/emacs/25.3/lisp/org/org-entities /home/sebastien/.emacs.d/elpa/org-20170918/ob-core hides /usr/share/emacs/25.3/lisp/org/ob-core /home/sebastien/.emacs.d/elpa/org-20170918/org-macs hides /usr/share/emacs/25.3/lisp/org/org-macs /home/sebastien/.emacs.d/elpa/org-20170918/ob-tangle hides /usr/share/emacs/25.3/lisp/org/ob-tangle /home/sebastien/.emacs.d/elpa/org-20170918/ob-js hides /usr/share/emacs/25.3/lisp/org/ob-js /home/sebastien/.emacs.d/elpa/org-20170918/ob-comint hides /usr/share/emacs/25.3/lisp/org/ob-comint /home/sebastien/.emacs.d/elpa/org-20170918/ob-R hides /usr/share/emacs/25.3/lisp/org/ob-R /home/sebastien/.emacs.d/elpa/org-20170918/org-id hides /usr/share/emacs/25.3/lisp/org/org-id /home/sebastien/.emacs.d/elpa/org-20170918/ob-haskell hides /usr/share/emacs/25.3/lisp/org/ob-haskell /home/sebastien/.emacs.d/elpa/org-20170918/org-docview hides /usr/share/emacs/25.3/lisp/org/org-docview /home/sebastien/.emacs.d/elpa/org-20170918/org-colview hides /usr/share/emacs/25.3/lisp/org/org-colview /home/sebastien/.emacs.d/elpa/org-20170918/ob-python hides /usr/share/emacs/25.3/lisp/org/ob-python /home/sebastien/.emacs.d/elpa/org-20170918/ob-asymptote hides /usr/share/emacs/25.3/lisp/org/ob-asymptote /home/sebastien/.emacs.d/elpa/org-20170918/ob-mscgen hides /usr/share/emacs/25.3/lisp/org/ob-mscgen /home/sebastien/.emacs.d/elpa/org-20170918/org-element hides /usr/share/emacs/25.3/lisp/org/org-element /home/sebastien/.emacs.d/elpa/org-20170918/org-plot hides /usr/share/emacs/25.3/lisp/org/org-plot /home/sebastien/.emacs.d/elpa/org-20170918/ob-screen hides /usr/share/emacs/25.3/lisp/org/ob-screen /home/sebastien/.emacs.d/elpa/org-20170918/org-faces hides /usr/share/emacs/25.3/lisp/org/org-faces /home/sebastien/.emacs.d/elpa/org-20170918/org-bibtex hides /usr/share/emacs/25.3/lisp/org/org-bibtex /home/sebastien/.emacs.d/elpa/org-20170918/org-datetree hides /usr/share/emacs/25.3/lisp/org/org-datetree /home/sebastien/.emacs.d/elpa/org-20170918/org-irc hides /usr/share/emacs/25.3/lisp/org/org-irc /home/sebastien/.emacs.d/elpa/org-20170918/org-gnus hides /usr/share/emacs/25.3/lisp/org/org-gnus /home/sebastien/.emacs.d/elpa/org-20170918/org-crypt hides /usr/share/emacs/25.3/lisp/org/org-crypt /home/sebastien/.emacs.d/elpa/org-20170918/org hides /usr/share/emacs/25.3/lisp/org/org /home/sebastien/.emacs.d/elpa/org-20170918/org-src hides /usr/share/emacs/25.3/lisp/org/org-src /home/sebastien/.emacs.d/elpa/org-20170918/ob-shen hides /usr/share/emacs/25.3/lisp/org/ob-shen /home/sebastien/.emacs.d/elpa/org-20170918/org-agenda hides /usr/share/emacs/25.3/lisp/org/org-agenda /home/sebastien/.emacs.d/elpa/org-20170918/ob-dot hides /usr/share/emacs/25.3/lisp/org/ob-dot /home/sebastien/.emacs.d/elpa/org-20170918/ob-awk hides /usr/share/emacs/25.3/lisp/org/ob-awk /home/sebastien/.emacs.d/elpa/org-20170918/org-list hides /usr/share/emacs/25.3/lisp/org/org-list /home/sebastien/.emacs.d/elpa/org-20170918/org-footnote hides /usr/share/emacs/25.3/lisp/org/org-footnote /home/sebastien/.emacs.d/elpa/org-20170918/org-indent hides /usr/share/emacs/25.3/lisp/org/org-indent /home/sebastien/.emacs.d/elpa/org-20170918/ox-html hides /usr/share/emacs/25.3/lisp/org/ox-html /home/sebastien/.emacs.d/elpa/org-20170918/ob-perl hides /usr/share/emacs/25.3/lisp/org/ob-perl /home/sebastien/.emacs.d/elpa/org-20170918/ob-exp hides /usr/share/emacs/25.3/lisp/org/ob-exp /home/sebastien/.emacs.d/elpa/org-20170918/ob-table hides /usr/share/emacs/25.3/lisp/org/ob-table /home/sebastien/.emacs.d/elpa/org-20170918/org-archive hides /usr/share/emacs/25.3/lisp/org/org-archive /home/sebastien/.emacs.d/elpa/org-20170918/org-w3m hides /usr/share/emacs/25.3/lisp/org/org-w3m /home/sebastien/.emacs.d/elpa/org-20170918/ob-lilypond hides /usr/share/emacs/25.3/lisp/org/ob-lilypond /home/sebastien/.emacs.d/elpa/org-20170918/org-attach hides /usr/share/emacs/25.3/lisp/org/org-attach /home/sebastien/.emacs.d/elpa/org-20170918/ob-sqlite hides /usr/share/emacs/25.3/lisp/org/ob-sqlite /home/sebastien/.emacs.d/elpa/org-20170918/ob-fortran hides /usr/share/emacs/25.3/lisp/org/ob-fortran /home/sebastien/.emacs.d/elpa/org-20170918/ob-ledger hides /usr/share/emacs/25.3/lisp/org/ob-ledger /home/sebastien/.emacs.d/elpa/org-20170918/org-loaddefs hides /usr/share/emacs/25.3/lisp/org/org-loaddefs /home/sebastien/.emacs.d/elpa/org-20170918/ob-keys hides /usr/share/emacs/25.3/lisp/org/ob-keys /home/sebastien/.emacs.d/elpa/org-20170918/org-compat hides /usr/share/emacs/25.3/lisp/org/org-compat /home/sebastien/.emacs.d/elpa/org-20170918/ox-texinfo hides /usr/share/emacs/25.3/lisp/org/ox-texinfo /home/sebastien/.emacs.d/elpa/org-20170918/ob-gnuplot hides /usr/share/emacs/25.3/lisp/org/ob-gnuplot /home/sebastien/.emacs.d/elpa/org-20170918/org-timer hides /usr/share/emacs/25.3/lisp/org/org-timer /home/sebastien/.emacs.d/elpa/org-20170918/ob-latex hides /usr/share/emacs/25.3/lisp/org/ob-latex /home/sebastien/.emacs.d/elpa/org-20170918/ox-odt hides /usr/share/emacs/25.3/lisp/org/ox-odt /home/sebastien/.emacs.d/elpa/org-20170918/org-mobile hides /usr/share/emacs/25.3/lisp/org/org-mobile /home/sebastien/.emacs.d/elpa/org-20170918/org-macro hides /usr/share/emacs/25.3/lisp/org/org-macro /home/sebastien/.emacs.d/elpa/org-20170918/org-protocol hides /usr/share/emacs/25.3/lisp/org/org-protocol /home/sebastien/.emacs.d/elpa/org-20170918/org-inlinetask hides /usr/share/emacs/25.3/lisp/org/org-inlinetask /home/sebastien/.emacs.d/elpa/org-20170918/org-habit hides /usr/share/emacs/25.3/lisp/org/org-habit /home/sebastien/.emacs.d/elpa/org-20170918/ox-org hides /usr/share/emacs/25.3/lisp/org/ox-org /home/sebastien/.emacs.d/elpa/org-20170918/ox-man hides /usr/share/emacs/25.3/lisp/org/ox-man /home/sebastien/.emacs.d/elpa/org-20170918/ox-ascii hides /usr/share/emacs/25.3/lisp/org/ox-ascii /home/sebastien/.emacs.d/elpa/org-20170918/org-install hides /usr/share/emacs/25.3/lisp/org/org-install /home/sebastien/.emacs.d/elpa/org-20170918/ob-ditaa hides /usr/share/emacs/25.3/lisp/org/ob-ditaa /home/sebastien/.emacs.d/elpa/org-20170918/ob hides /usr/share/emacs/25.3/lisp/org/ob /home/sebastien/.emacs.d/elpa/org-20170918/org-clock hides /usr/share/emacs/25.3/lisp/org/org-clock /home/sebastien/.emacs.d/elpa/org-20170918/ob-scheme hides /usr/share/emacs/25.3/lisp/org/ob-scheme /home/sebastien/.emacs.d/elpa/org-20170918/org-capture hides /usr/share/emacs/25.3/lisp/org/org-capture /usr/share/emacs/site-lisp/gnus-bonus/spam-stat hides /usr/share/emacs/25.3/lisp/gnus/spam-stat /usr/share/emacs/site-lisp/gnus-bonus/nnir hides /usr/share/emacs/25.3/lisp/gnus/nnir /usr/share/emacs/site-lisp/gnus-bonus/nnnil hides /usr/share/emacs/25.3/lisp/gnus/nnnil /home/sebastien/.emacs.d/elpa/let-alist-1.0.5/let-alist hides /usr/share/emacs/25.3/lisp/emacs-lisp/let-alist /home/sebastien/.emacs.d/elpa/seq-2.20/seq hides /usr/share/emacs/25.3/lisp/emacs-lisp/seq Features: (mm-archive url-handlers url-http url-gw url-cache url-auth cus-edit org-table cal-move parse-time mml2015 info-look warnings sh-script smie executable epa-file epa derived network-stream nsm starttls tls gnutls mailalias qp shadow sort mail-extr emacsbug misearch multi-isearch two-column vc-git diff-mode image-file jedi jedi-core python-environment epc ctable concurrent deferred python-el-fgallina-expansions python tramp-sh docker-tramp tramp-cache vagrant-tramp tramp tramp-compat tramp-loaddefs trampver ucs-normalize org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m server flycheck json map flymake rainbow-delimiters web-mode-expansions web-mode expand-region text-mode-expansions the-org-mode-expansions er-basic-expansions expand-region-core expand-region-custom winner windmove exec-path-from-shell esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util nyan-mode elfeed-org bbdb-message bbdb bbdb-site timezone virtualenvwrapper gud smtpmail sendmail projectile grep compile ibuf-ext ibuffer multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more thingatpt mc-cycle-cursors mc-edit-lines multiple-cursors-core rect gnus gnus-ems nnheader auto-complete edmacro kmacro popup ob-sh shell ob-python ob-octave ob-js ob-awk elfeed-link org-element elfeed-show elfeed-search bookmark pp message idna dired rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader shr dom subr-x elfeed-csv elfeed elfeed-curl url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf mailcap elfeed-log elfeed-db elfeed-lib url-util avl-tree url-queue browse-url url-parse auth-source gnus-util mm-util help-fns mail-prsvr password-cache url-vars xml-query org advice org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint ansi-color ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs org-bullets yasnippet elec-pair iso-transl time-date challenger-deep-theme paren ido cus-start cus-load all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize font-lock+ finder-inf dakrone-theme-autoloads flylisp-autoloads gh-common marshal eieio-compat cl-seq eieio eieio-core term-alert alert log4e rx notifications dbus gntp term-cmd f s dash term disp-table ehelp ring info package epg-config seq byte-opt bytecomp byte-compile cl-extra help-mode cconv preview-latex emacs-goodies-loaddefs easy-mmode color-theme easymenu wid-edit cl clang-format cl-macs gv xml cl-loaddefs pcase cl-lib auto-loads tex-site mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1319750 302121) (symbols 48 52083 80) (miscs 40 882 379) (strings 32 188486 55546) (string-bytes 1 6363663) (vectors 16 92026) (vector-slots 8 2185390 150519) (floats 8 1600 1670) (intervals 56 121655 30014) (buffers 976 50)) From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 28 06:05:11 2021 Received: (at 31410) by debbugs.gnu.org; 28 Aug 2021 10:05:12 +0000 Received: from localhost ([127.0.0.1]:53430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJvD5-0001si-Fr for submit@debbugs.gnu.org; Sat, 28 Aug 2021 06:05:11 -0400 Received: from mail-ed1-f54.google.com ([209.85.208.54]:39603) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJvD1-0001sM-OK for 31410@debbugs.gnu.org; Sat, 28 Aug 2021 06:05:10 -0400 Received: by mail-ed1-f54.google.com with SMTP id z10so13681109edb.6 for <31410@debbugs.gnu.org>; Sat, 28 Aug 2021 03:05:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:date:message-id:user-agent:mime-version :content-transfer-encoding; bh=+Qbmodc8UYVDrLXlRqPa2nutG6j071dUACqkcBerIuo=; b=fetKKfDo1jUUCVea58GSEkTPFWqt9kfzvewH9Y5Yaet0wBnDdxsLTdUJNIWZL+Vv4L CWg445hhS6UU4kbBnmPGGirzetfWe+Mq3Prk67xsTnife8Y9Z+FdAZCD0j1V5gyUnd73 2Sb5Y+FrmAEBbc582SENWblgTzMuTvyAH9S3L5sSH9fT8Zu/7qkzIxKKvtr3VZSaqDyJ h3n6cwgGnv+BTzPhBXjTB2Lz8AbdYEfOsuuJKqwSE/JodlkgbSiTZqdIBJ9x2PKvPDwG n23mgKD71vX5Zv1/Fh3R36tASB6GWZBv64Ftf9k79c+9/oV0WwfhIEWj6zKEjwTE5HqE YVZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:date:message-id:user-agent:mime-version :content-transfer-encoding; bh=+Qbmodc8UYVDrLXlRqPa2nutG6j071dUACqkcBerIuo=; b=fDSKqp0M00697QDo+x8dOVMLXOV7aw/tG7SxLFP/bbeSDRThS+88mKzAW9fiQ4Ek/K XzE47cGFGK29Y/9IxL27RYIPgV2MU/b4I/CmSHoeWXrK12zwuXR1vJZnUbbeZfmibIrB 0phnh0fsUAEwgURQY58yuM5ekaKJg2YiOlSghcWNth4O8PhwYDP6mZG0OoTj3BfszJXT Y26sfpxgC51R5feqfr25VXFATEPSIjW1jktfFTK5BxpT9qHdyNNOcAel0iJUyn16vE4D 5VJ30MiW5G15mT6MgktFnC1gMYRSt7qWRxeqNFa0hqvsTMHG5rngteciREAd8CV1bAHl gfEA== X-Gm-Message-State: AOAM531ylFzaHNQ+nAGzPa6OUkmNSesnN9PAMy7EW5BnXb13HOeJqrXF noBytKtVMBRX17rnnrWuBIMyG7KklKefGQ== X-Google-Smtp-Source: ABdhPJyDM2WCRoTtuePvNcb0uiP1j4BemMFOaOJU+k0pp0eDYSALPgrsS+Dclds4cK8m7XBbfWGeaA== X-Received: by 2002:a05:6402:452:: with SMTP id p18mr14215702edw.34.1630145101701; Sat, 28 Aug 2021 03:05:01 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::ae3f]) by smtp.gmail.com with ESMTPSA id js21sm4012307ejc.35.2021.08.28.03.05.01 for <31410@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Aug 2021 03:05:01 -0700 (PDT) From: Augusto Stoffel To: 31410@debbugs.gnu.org Date: Sat, 28 Aug 2021 12:05:00 +0200 Message-ID: <87fsutevg3.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > When reading Python.el source code, I see it's support Python virtual > environment by setting the variable 'python-shell-vertualenv-root' > It would be more discoverable if we have an interactive function to do > that. Somthing like 'python-virtualenv' or similar. The must would be to > have a key binding for it and eplained it in mode [...] Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (arstoffel[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.208.54 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.208.54 listed in list.dnswl.org] 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: 31410 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > When reading Python.el source code, I see it's support Python virtual > environment by setting the variable 'python-shell-vertualenv-root' > It would be more discoverable if we have an interactive function to do > that. Somthing like 'python-virtualenv' or similar. The must would be to > have a key binding for it and eplained it in mode help. This is just an opinion, but I think the virtualenv support in the Python shell is a misguided feature. The problem is that it merely sets up the shell to run in a given virtualenv; it has no influence on other external tools such as language servers or, say, =E2=80=98M-x compile RET p= ytest RET=E2=80=99. Instead, it would be better to embrace the idea of setting the =E2=80=98process-environment=E2=80=99 and =E2=80=98exec-path=E2=80=99 varia= bles buffer-locally. There are some rough edges to be polished, cf [1]. But at least there are packages, such as envrc, direnv and buffer-env (on MELPA) to help managing env vars in Emacs. [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D46345