PTVS: как ссылаться или использовать исходный код Python в одном проекте из второго проекта

в Visual Studio с PTVS у меня есть две отдельные проекты Python, один содержит исходный файл Python с именем lib.py для использования в качестве библиотеки функций и другой, который использует функции библиотеки. Я использую import оператор в main для ссылки на функции в проекте библиотеки, но получить следующую ошибку:

нет модуля с именем lib

Я в основном программирую в F# с помощью Visual Studio, поэтому мое мышление добавляет ссылки на другие проекты .NET.

Как я думаю, в подходящие для Python способ сделать это?

3 ответов


Python не использует ссылки, как .NET, но использует путь, который ищется. Путь поиска должен быть изменен, чтобы включить в каталог, содержащий исходный файл. См.: Путь Поиска Модуля

просмотр проекта в Visual Studio с помощью обозревателя решений показывает пути поиска для каждого проекта.

enter image description here

изменить путь поиска:

получить каталог для файла Python с исходный код для импорта.

например, lib.py

в обозревателе решений щелкните правой кнопкой мыши lib.py и выберите Копировать путь

enter image description here

сейчас для проекта, который будет импортировать модуль
например ConsoleDriver_Python

щелкните правой кнопкой мыши поиск путей и выберите Добавить папку для поиска пути...

enter image description here

которые отображают папку диалоговое окно

enter image description here

щелкните правой кнопкой мыши и вставить путь из буфера обмена. Также измените его на каталог, удалив имя файла.

enter image description here

Нажмите Выбрать Папку

теперь проверьте проект, чтобы убедиться, что путь поиска был обновлен.

enter image description here

теперь ошибка импорта должна быть очищена.


Я просто хотел добавить ниже в дополнение к проверенному ответу, для очень конкретного сценария.

недавно меня попросили исправить ту же проблему, что и OP для рабочей машины, которая недавно перенесла учетные записи пользователей в новый домен.

настройка: Visual Studio 2013 PTVS 2.2.30718 Анаконда 3.5

в основном, Anaconda была установлена для localmachine / UserA.

Как только пользователи были перенесены на новый домен (newdomain / UserA), среда Python должна была быть обновлена из VS2013, нажав View > другие Windows > среды Python.

после установки скрипты python будут работать так, как ожидалось, хотя ни одна из ссылок на папки поиска не будет работать. Затем они были удалены и повторно добавлены, но безрезультатно.

различные другие вещи были опробованы, в том числе создание совершенно свежих проектов и связывание их с помощью путей поиска, но нет выгода.

единственное, что исправило проблему, - переустановить среду Python (в моем случае Anaconda3) за пределами учетной записи пользователя (нажав кнопку "для всех пользователей, используя права администратора" во время установки).

затем я перезапустил, удалил и повторно добавил папки поиска, и python работал, как ожидалось, включая все пути поиска.

Я надеюсь, что это поможет кому-то, так как я просто потратил часы на его решение...

D:)


или вы можете сделать это в код на следующий:

sys.path.append("search path")

чтобы код можно было запускать вне среды IDE.