Python 如何让intellisense使用.egg链接包(以开发模式安装)?

Python 如何让intellisense使用.egg链接包(以开发模式安装)?,python,pip,visual-studio-2019,intellisense,Python,Pip,Visual Studio 2019,Intellisense,在Visual Studio 2019中,我正在尝试让intellisense使用我使用以下命令安装的软件包: pip安装-e“git+https://github.com/bmoscon/cryptofeed.git/#egg=cryptofeed“[全部] 解释它的作用。我称之为使用我的项目虚拟环境,一切似乎都正常(即,所有文件似乎都下载和链接正确) 我遇到的问题是intellisense没有接收到主包本身(cryptofeed)(它说,“未解决的导入cryptofeed”),而与它一起安装

在Visual Studio 2019中,我正在尝试让intellisense使用我使用以下命令安装的软件包:

pip安装-e“git+https://github.com/bmoscon/cryptofeed.git/#egg=cryptofeed“[全部]

解释它的作用。我称之为使用我的项目虚拟环境,一切似乎都正常(即,所有文件似乎都下载和链接正确)

我遇到的问题是intellisense没有接收到主包本身(cryptofeed)(它说,“未解决的导入cryptofeed”),而与它一起安装的所有其他依赖项包都可以识别

在做了一些阅读和测试之后,我非常确信它不起作用的原因与如何在“开发模式”下安装包有关。在我的
/env/Lib/site-packages
文件夹中,我可以看到cryptofeed是一个
.egg链接
文件(更多信息)。VisualStudio是否为intellisense处理这些文件(或者通常只处理整个“可编辑/开发模式”的事情)?我有什么误解或做错了吗


我想值得一提的是,我读了这些文章,这让我觉得也许我可以通过在源代码中添加搜索路径来实现一个“黑客”解决方案,但这似乎没有解决任何问题或做任何事情。

我终于让它工作起来了。我已经在多个回购协议/包上试用过,并且在所有这些协议/包上都有效

解决方案包括手动添加搜索路径(如我的问题帖子中所述)。我不知道确切的原因,但似乎添加的搜索路径必须以python包的根目录为目标。如果我只添加包含源代码的目录,它将无法工作

i、 e.如果安装包的源目录包含子目录,如:

pkgDir
├── pkgName
├── pkgName.egg-info
└── tests
在本例中,您应该尝试添加
pkgDir
,而不是
pkgName
作为搜索路径。此目录还包含其他重要文件,例如
setup.py
;也许其中一个文件是intellisense运行所必需的?IDK

有时软件包支持多种语言,因此请确保添加用于python的目录。IIRC,它与安装包时为“subdirectory”标志/设置设置的目录相同

例如:
pip安装-e“git+https://github.com/ccxt/ccxt.git/#egg=ccxt&subdirectory=python“

如果
setup.py
位于根目录,则可能不需要使用
子目录
设置,但本质上这意味着它似乎与包含
setup.py
的目录(以及.egg info文件夹)一起工作


再说一次,我真的不知道这到底是为什么。您需要定位的文件夹可能与我描述的文件夹非常不同。也许其他人可以给出更具体的答案

我应该提到,intellisense加载需要一段时间(可能取决于包的大小)。不要太快地假设搜索路径是错误的(对于我来说,从添加搜索路径开始工作大约需要1分钟)

根据MS docs for Visual Studio(2019)python支持选项和设置,它有一个“添加链接文件时更新搜索路径”选项。这在默认情况下是启用的,并且似乎不适用于此目的;它似乎指的是另一种链接文件