py2exe отсутствует модуль pyodbc

мой скрипт python использует модуль pyodbc. Когда я создаю сценарий setup.py, он не скомпилируется и выдает ошибку:

 raise ImportError, "No module named " + qname
portError: No module named pyodbc

Что не так с моим скриптом setup.py:

from distutils.core import setup
import py2exe

setup(
    console=['accession.py'],
    options={
        'py2exe': {
            'includes': 'pyodbc'
            }
        }
    )

Заранее спасибо Извините ... но я ошибся в своих комментариях: 1. У меня есть 2 установки Python, и я удалил одну, т.е. ipython, и теперь у меня есть только Python 2.7 2. У меня установлен pyodbc, потому что я мог использовать его, когда запускаю просто ' простой скрипт python (без py2exe) 3. Я мог бы проверить, что он установлен следующим образом:

yolk -l bottle - 0.12.7 - active pip 1.5.6 не имеет метаданных py2exe - 0.6.10 - active pyodbc - 3.0.7 - active В чем еще может быть проблема? Спасибо еще раз


person susja    schedule 11.08.2014    source источник
comment
Вы действительно установили pyodbc? (И возможно ли, что у вас есть две разные установки Python, в одной из которых установлен pyodbc, а в другой нет?)   -  person abarnert    schedule 11.08.2014
comment
привет, абамерет, ты прав: у меня есть 2 установки Python: ipython и Python 2.7. Я только что проверил, что в версии 2.7 есть pyodbc, а в ipython — нет. Я сделал свою разработку, используя 2.7, и использовал py2exe, используя 2.7. Что бы вы порекомендовали мне сделать, чтобы исправить это? Спасибо   -  person susja    schedule 11.08.2014
comment
IPython — это не отдельная установка, это пакет, который устанавливается в вашу существующую установку Python. Я имею в виду наличие двух разных каталогов Python (например, C:\Python27 и D:\Python27), каждый со своим собственным Python.exe, папкой site-packages и т. д.   -  person abarnert    schedule 11.08.2014
comment
- артерия, в моем случае это были 2 разные установки в 2 разных каталогах. У ipython не было pyodbc, и он был первым в системном пути. После того, как я исправил путь, у меня не было проблем с odbc, потому что моя программа начала использовать только Python 2.7, в котором был этот модуль. Еще раз спасибо за внимание   -  person susja    schedule 13.08.2014
comment
Этот вопрос кажется не по теме, потому что он вызван путаницей между двумя отдельными установками Python.   -  person abarnert    schedule 13.08.2014
comment
Я думаю, что разумно закрыть это, как вы просили (хотя мне было трудно придумать близкую причину). Но не публикуйте запрос на закрытие в качестве ответа. Публикуйте ответы только как ответы. Если у вас недостаточно представителей, чтобы закрыть свой вопрос, опубликуйте комментарий и попросите других сделать это (или отметьте его, если считаете, что он требует внимания мода, но обычно этого не требуется).   -  person abarnert    schedule 13.08.2014


Ответы (2)


Вы говорите, что ваш скрипт Python использует модуль pyodbc, но я не уверен, правильно ли вы его установили. Попробуйте pip install pyodbc или pip install https://pyodbc.googlecode.com/files/pyodbc-3.0.6.zip установить этот модуль, если он еще не установлен.

person warship    schedule 11.08.2014
comment
-XYZ927 После того, как я поместил Python 2.7 впереди в переменной PATH, у меня не было проблем с его компиляцией. Другая проблема заключается в том, что моя программа использует Bottle и вместе с «основным» скриптом Python использует 2 файла шаблона .tpl, и я не знаю, как включить его в setup.py. Скорее всего, для этого нужно будет открыть еще один тикет. что ты думаешь? и все равно спасибо - person susja; 11.08.2014
comment
Извините за шум. После того, как я снова установил pyodbc, у меня больше нет проблемы. До сих пор не понятно, почему он такой глючный и пришлось переустановить и теперь он выглядит так: ›yolk -l pip 1.5.6 не имеет метаданных py2exe - 0.6.10 - активный pyodbc - 3.0.7 - неактивный pyodbc - 3.0 .7 - неактивный pyodbc - 3.0.7 - активный pyodbc - 3.0.7 - активный setuptools 5.4.1 не имеет метаданных - person susja; 11.08.2014
comment
Итак, вы заставили его работать, используя одну из двух команд установки, которые я дал? Дайте мне знать, если есть какие-либо другие проблемы. - person warship; 11.08.2014
comment
Привет. Мне не нужно было устанавливать модуль. Он уже был там, и мне нужно было только использовать «правильный» Python. Теперь у меня больше нет проблем с этим модулем. Спасибо - person susja; 13.08.2014

код setup.py:

from distutils.core import setup
import py2exe

setup(
    console=['yourfile.py'],
    options = { "py2exe": { "includes": "decimal, datetime" } }
)
person Paulo Coelho    schedule 11.12.2015
comment
Я не понимаю, как это отвечает на вопрос. - person Jordan Reiter; 12.12.2015