我正在使用 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
, 标记包裹 jedi
按 I
然后按 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/