我正在尝试将具有 python 虚拟环境的现有 python 项目添加到 visual studio 2017,以便我可以对其进行调试。
项目还有一些外部依赖,
一切都安排在以下文件夹中
C:\myproject\code
C:\myproject\portablepython
C:\myproject\pylibrary
我使用 File->New Project->Python->From Existing Python Code 创建了项目
我使用 C:\myproject\portablepython 作为前缀路径,使用 Tools->Python->Python Environments
添加了 PortablePython 虚拟环境,
C:\myproject\portablepython\python.exe
作为解释器路径
C:\myproject\portablepython\wpython.exe
作为 Windowed Interpreter 路径
语言自动检测为 3.6、64 位,我什至添加了 C:\myproject\pylibrary
作为路径环境变量。
我还将 pylibrary 添加到项目搜索路径中,使其看起来像 ..\pylibrary
我的问题是,当我构建项目时,它在第一个 pylibrary 导入时失败,行中显示 ImportError("cannot import name 'mdevice'",)
从 mdevice 导入 mdevice
而且这个模块明明是在C:\myproject\pylibrary
路径下
更有趣的是,当我从 Python 环境中删除 portablepython
时,它默认为 Python 3.6,它找到了第一个模块,但找不到第一个模块下面一行的第二个模块一。
两个模块都在C:\myproject\pylibrary
我不知道这里的 Visual Studio 有什么问题,对我来说似乎是一个错误
旁注:我必须使用 Tools->Python->Python Environments
创建虚拟环境,因为当我右键单击项目并选择 Add Virtual Environment
并选择C:\myproject\portablepython
它实际上显示 “我们无法在指定路径创建虚拟环境。选择一个不存在、为空或包含现有虚拟环境的文件夹”
尽管它清楚地包含此文件夹中的正确 python 文件。
最佳答案
Python 路径不是由 Python 代码或项目文件专门设置的,它们被设置为系统路径变量。 为了添加模块和解释器,我需要将 PYTHONPATH 添加到系统变量并让它指向包含模块的文件夹,然后将 Python.exe 路径添加到路径列表的顶部
关于Visual Studio 2017 中的 Python 无法通过搜索路径找到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601594/