python - 使用 Emacs Jedi(在 Anaconda 中)时可以避免使用 virtualenv 吗?

标签 python emacs virtualenv anaconda jedi

我正在使用 Anaconda python 框架。 Anaconda 有它自己的虚拟环境系统,我不清楚 virtualenv 是否可以安全地与 Anaconda 一起使用。

Emacs Jedi 似乎需要 virtualenv。它是在“运行时”使用还是仅在安装期间使用?是否可以在不安装 virtualenv 的情况下使用 Jedi? Jedi 安装完成后可以卸载 virtualenv 吗?

有什么方法可以直接向 Jedi 开发人员提出这个问题吗? (找不到方法)

最佳答案

Is there some way to ask this question directly of the Jedi developers?

您可以使用他们的 github 问题跟踪器,它位于 here .

emacs-jedi website指出virtualenv是可选的,所以我想绝地武士没有它也能工作。如果您可以发布安装方式 jedi或者您想如何安装它(手动、使用 el-get 或其他方式)然后这里的人将能够更好地帮助您。

更新

这是安装 jedi 的一种方法手动没有 virtualenv

1) 安装jedi来自梅尔帕。做M-x list-packages , 标记包裹 jediI然后按 X安装包(就 elisp 而言,这将安装所有依赖项)

2) 然后安装python依赖,可以从here下载requirements.txt然后做 pip install -r requirements.txt ,这将安装 python 依赖项。

3) 添加一个 python-mode hook 以在打开 python 文件时启动 jedi,基本上将以下内容添加到您的 init 文件中

(autoload 'jedi:setup "jedi" nil t)
(add-hook 'python-mode-hook 'jedi:setup)

以上应该设置绝地武士,如果您在上述任何步骤中遇到问题,请随时询问

更新 2

以下是让 emacs-jedi 使用“conda 环境框架”的步骤(我使用了 miniconda,但即使安装了完整的 conda 也应该可以使用)

1) 创建一个 conda 环境(对于当前示例,环境名为 emacs-jedi )

conda create -n emacs-jedi python

2) 为 jedi、epc 和 sexpdata 构建包(emacs-jedi 需要)

a) 克隆 conda-recipes存储库

b) 通过执行 conda build /path/to/conda-recipies/<pkgname> 构建所需的包

3) 通过执行 source activate emacs-jedi 切换到上面创建的环境并安装上面构建的包

conda install --use-local jedi sexpdata epc

--use-local用于指示 conda 从本地构建的包安装

4) 最后指示 emacs 将此环境与 jedi 一起使用,这只需将以下内容添加到您的 init 文件中

(eval-after-load "jedi"
    '(setq jedi:server-command (list "/path/to/emacs-jedi/bin/python" jedi:server-script)))

关于python - 使用 Emacs Jedi(在 Anaconda 中)时可以避免使用 virtualenv 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703693/

相关文章:

python - python c扩展模块中没有返回值的方法

python - 重新排列 pandas 数据框以形成分组条形图

regex - 如何在 Emacs 中设置 reftex-view-crossref-extra?

Emacs 缓冲区菜单 : how to show only file + dired buffers?

python - 如何在 Ubuntu bash 中使用 Python 虚拟环境?

Python 正则表达式必须去除引号之间的空格

python - 如何找到两个向量的相似度

windows - 如何在 Windows 显示屏的右上角启动 emacs?

python virtualenv模块导入错误

python - 是否可以在 Virtualenv 沙箱上添加 PyQt4/PySide 包?