在使用Emacs绝地(在Python中)时可以避免virtualenv吗?

2024-04-29 01:21:42 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Emacs绝地武士似乎需要虚拟人。它是在“运行时”使用还是只在安装期间使用?在没有安装virtualenv的情况下使用Jedi有可能吗?一旦Jedi安装完成,virtualenv能否卸载?在

有没有办法直接向绝地开发人员提出这个问题?(找不到办法)


Tags: 框架virtualenv开发人员系统虚拟环境情况anacondaemacs
3条回答

下面是我设置jedi:server-command变量的方法:

(setq jedi:server-command
        `("python"
          ,(concat (file-name-directory
                   (buffer-file-name
                    (car
                     (find-definition-noselect 'jedi:setup nil))))
                  "jediepcserver.py")))

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

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

emacs-jedi website声明{}是可选的,所以我想绝地武士没有它也能工作。如果您可以发布如何安装jedi或您希望如何安装它(手动,使用elget或其他方式),那么这里的人将能够更好地帮助您。在

更新

这里有一种方法可以不使用virtualenv手动安装jedi

1)从melpa安装jedi。执行M-x list-packages,按I标记包jedi,然后按X安装包(这将安装elisp所涉及的所有依赖项)

2)然后安装python依赖项,可以下载要求.txt从here开始,然后执行pip install -r requirements.txt,这将安装python依赖项。在

3)在打开python文件时,添加一个python模式钩子来启动jedi,基本上在init文件中添加以下内容

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

以上应该设置绝地武士,如果你在以上任何一个步骤中遇到问题,请不吝赐教

更新2

下面是让emacs jedi使用“conda environment framework”的步骤(我使用了miniconda,但即使在完全安装conda的情况下也可以使用)

{cond11>例如,创建环境

^{pr2}$

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)))

在绝地武士德夫在这里。截至绝地武士v0.2.0中,virtualenv成为默认值,并强烈推荐使用。仍然支持手动安装,但不推荐手动安装,因为您需要手动同步的版本绝地武士和Python模块。参见:

我不知道什么是水蟒,但我想在这里它有自己的环境。如果它只是virtualenv的包装,那么按照手册中的说明使用 virtual-env。如果没有,可以使用 sys-path来判断绝地武士关于其他站点路径。参见:

首先,你需要找到水蟒特定的站点路径。跑

python -c 'import sys; print(sys.path)'

在水蟒中找到一些水蟒的特定路径(我不知道会是什么。但我想这条路中包括了“Python”。然后使用 sys-path添加这些路径。请参阅jedi:server-args文档以获取代码。在

相关问题 更多 >