如何将 pipelinev python 作为 emacs Python shell 运行

问题描述 投票:0回答:3

我使用 python-mode.el 并且刚刚发现了 Pipenv。我可以从终端在项目环境中启动 Python,方法是首先更改为项目目录并输入“pipenv run python”。但 python-mode 想要执行一个进程,而不是一个命令字符串。

我尝试创建一个像这样的 shell 脚本:

#!/bin/bash
cd ~/myprojectdir
pipenv run python

但收到这个投诉

Warning: the environment variable LANG is not set!
We recommend setting this in ~/.profile (or equivalent) for proper expected behavior.

此变量是在我的终端环境中设置的:如何确保它是为 pipelinev 设置的?但更大的问题是,我如何在 emacs 中运行这个 pipelinenv 虚拟环境 python 来获取带有 Python 进程的缓冲区?

python emacs pipenv
3个回答
1
投票

pipenv.el 通过设置适当的变量并在 Emacs 内的 Pipenv 周围提供一个瓷器,可以在这方面提供帮助。


0
投票

看起来我必须显式地获取我的 .bashrc 文件(或等效文件)。将我的

runpipenv.sh
脚本的内容更改为此

#!/bin/bash
source ~/.bashrc
cd ~/myprojectdir
pipenv run python

(我的 .bashrc 文件设置

LANG
),然后调用

(setq py-shell-name "runpipenv.sh")

在 Emacs 中似乎可以工作。


0
投票

我使用的是 Emacs 版本 29,它非常简单:

自定义这两个变量:

  • python-shell-interpreter
    。注意,我必须使用绝对路径来让 Emacs 找到可执行文件,对我来说,该值是
    /usr/bin/pipenv
  • python-shell-interpreter-args
    。我的价值观是
    run python
© www.soinside.com 2019 - 2024. All rights reserved.