YouCompleteMe/Python可以完成内置libs,但不能完成站点包
我刚安装了ycm,一切看起来都不错,但我发现了小问题。问题如下:YouCompleteMe/Python可以完成内置libs,但不能完成站点包,python,autocomplete,Python,Autocomplete,我刚安装了ycm,一切看起来都不错,但我发现了小问题。问题如下: import os # os is built-in library os. # ycm helps to complete members of the class. import numpy # numpy is not built-in library, where its location is site-packages. numpy. # nothing happened. ycm
import os # os is built-in library
os. # ycm helps to complete members of the class.
import numpy # numpy is not built-in library, where its location is site-packages.
numpy. # nothing happened. ycm shows 'pattern not found' message.
我认为,这将是一个简单的问题。但我还没有找到解决办法。我想,有一些配置文件,我可以在其中为我的项目定义“搜索路径”
如果我能找到解决办法,我将不胜感激
最好的
Je Hoon Song
numpy
是一个很难实现的库,因为它在导入时动态地构建名称空间,使得静态代码分析工具很难知道在编写代码时哪些名称应该可用。因为名称空间numpy
中可用的名称只有在运行时才知道,YCM可能没有任何有用的建议给您。我对模块“mpmath”也有同样的问题,并通过以下方式修复了它:
首先,我检索了模块所在的路径:
%python3
>>>import mpmath
>>>print(mpmath.__file__)
/usr/lib/python3.4/site-packages/mpmath/__init__.py
在这里,我发现我所有“已安装”的python3软件包的路径是:
/usr/lib/python3.4/site-packages/
然后,我简单地将以下路径添加到PYTHONPATH环境变量中:
%export PYTHONPATH=/usr/lib/python3.4/site-packages/
然后,当我使用vim sample.py
键入import mpmath
并使用mpmath进行后续操作时。
YCM向我展示了mpmath模块的所有自动完成
希望这有帮助。一种简单的修复方法是激活python环境,然后打开vim。比如说
(django_mdn) ➜ locallibrary git:(master) ✗ vim
在vim运行:echo$PATH
然后您应该能够看到您的venv路径最初是这样的:
/Users/gwanghyeongim/.virtualenvs/django_mdn/bin:/usr/local/opt/tcl-tk/bin:...
然后查看python包是否自动完成
成功了
如果要将某个站点包设置为永久自动完成,则需要在项目根目录或global\u extra\u conf.py
中创建一个名为.ycm\uuu conf.py的文件,并且如果要全局设置它
附加说明
在打开vim之前,通过在shell中运行export PYTHONPATH=/usr/lib/python3.4/site packages/
对我来说不起作用。此外,除非永久设置PYTHONPATH(这会导致问题),否则每次您希望依赖项自动完成时都必须设置导出PYTHONPATH。您解决了吗?我也有同样的问题,不仅是numpyI也尝试过numpy,它的效果和预期的一样。