Найти - Пользователи
Полная версия: [Win] Проблемы с установкой PyStemmer.
Начало » Python для экспертов » [Win] Проблемы с установкой PyStemmer.
1 2
$m1t
Проблемы с установкой PyStemmer:

Делаю так:
C:\Temp\PyStemmer-1.0.1\PyStemmer-1.0.1>setup.py install
Получаю:
running install
running build
running build_ext
error: The .NET Framework SDK needs to be installed before building extensions for Python.

Хотя .NET SDK есть – поставилось только что вместе с 2005 студией(хотя в «Установка\Удаление программ» я его не вижу, но должен ли он там появиться? ).
Что делать? В чем может быть проблема?
alafin
$m1t в “установка\удаление программ” он должен появиться.
pythonwin
alafin
$m1t в “установка\удаление программ” он должен появиться.
у меня .NET Framework SDK был в “установка\удаление программ” + был прописан в PATH, но ошибка осталась
bialix
$m1t
Проблемы с установкой PyStemmer:

Делаю так:
C:\Temp\PyStemmer-1.0.1\PyStemmer-1.0.1>setup.py install
Получаю:
running install
running build
running build_ext
error: The .NET Framework SDK needs to be installed before building extensions for Python.

Хотя .NET SDK есть – поставилось только что вместе с 2005 студией(хотя в «Установка\Удаление программ» я его не вижу, но должен ли он там появиться? ).
Что делать? В чем может быть проблема?
Нет никакой гарантии, что сишные расширения будут компилироваться 2005 студией. Изначально все было заточено под 2003 (версия компилятора 7.1)
А что, нет никакой возможности скачать готовый инсталлятор со скомпилированными сишными расширениями под винду?
$m1t
1. Готового инсталятора я не нашел. Есть только то, что есть :(
2. У меня в установка\удаление есть только Framework, слов SDK там ни где нет. Это нормально? Или это все таки разные вещи?
3. Собрал я сишную библиотеку вручную, получил *.obj файл, теперь мучаюсь вопросом; “что с ним делать?” Изучаю исходники программы установщика, в надежде понять что делать дальше. Там еще какой то загадочный pyx файл в комплекте есть; он как я понял отвечает за связь *.obj файла с питоном, так?

p.s. Что бы не засорять индекс простыми вопросами еще один вопросик задам сюда же:
Есть у меня кусочек кода:
textdir="c:/lab/Texts"
print os.listdir(textdir)
for obj in os.listdir(textdir):
if os.stat(obj)[0]==33206:
print obj
которым я выбираю все файлы из каталога для дальнейшего их анализа.
Проблема собственно вот в чем:
>>>

1.html
Traceback (most recent call last):
File “C:/Lab/parser4.py”, line 11, in ?
if os.stat(obj)==33206:
OSError: No such file or directory: ‘2.txt’

Слов нет. Как такое может быть я вообще не представляю.
Причем самое интересное что для с некоторыми другими директориями, например c:\lab он работает нормально. А с некоторыми другими нет.
bialix
$m1t
1. Готового инсталятора я не нашел. Есть только то, что есть :(
Это не очень хорошо для вас, поскольку вы еще не очень опытный в си-расширениях. как я понял.

2. У меня в установка\удаление есть только Framework, слов SDK там ни где нет. Это нормально? Или это все таки разные вещи?
Это разные вещи. Вам нужно установить и сам фреймворк и SDK.

3. Собрал я сишную библиотеку вручную, получил *.obj файл, теперь мучаюсь вопросом; “что с ним делать?” Изучаю исходники программы установщика, в надежде понять что делать дальше. Там еще какой то загадочный pyx файл в комплекте есть; он как я понял отвечает за связь *.obj файла с питоном, так?
obj-файл – это только половина дела. это только объектный файл. вам же нужна полностью готовая динамическая библиотека (dll), конечное расширение будет *.pyd. pyx-файл – это связующий код между питоном и си, написанный на языке pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/). Возможно вам требуется еще установить сам библиотеку pyrex.

p.s. Что бы не засорять индекс простыми вопросами еще один вопросик задам сюда же:
Есть у меня кусочек кода:
textdir="c:/lab/Texts"
print os.listdir(textdir)
for obj in os.listdir(textdir):
if os.stat(obj)[0]==33206:
print obj
которым я выбираю все файлы из каталога для дальнейшего их анализа.
Проблема собственно вот в чем:
>>>

1.html
Traceback (most recent call last):
File “C:/Lab/parser4.py”, line 11, in ?
if os.stat(obj)==33206:
OSError: No such file or directory: ‘2.txt’

Слов нет. Как такое может быть я вообще не представляю.
Причем самое интересное что для с некоторыми другими директориями, например c:\lab он работает нормально. А с некоторыми другими нет.
А что эта проверка os.stat(obj)==33206 собственно проверяет?
$m1t
bialix
А что эта проверка os.stat(obj)==33206 собственно проверяет?
Я так проверяю это файл или папка. Если файл то дальше обрабатываю его.

p.s. Проверил SDK у меня есть - он лежит в папке со студией. Его видимо еще где то прописать надо, вопрос где - в PATH я прописал путь к бинарникам от SDK. - толку 0 его setup.py все равно не видит.
bialix
$m1t
bialix
А что эта проверка os.stat(obj)==33206 собственно проверяет?
Я так проверяю это файл или папка. Если файл то дальше обрабатываю его.
import os
os.path.isfile(name)
os.path.isdir(name)

p.s. Проверил SDK у меня есть - он лежит в папке со студией. Его видимо еще где то прописать надо, вопрос где - в PATH я прописал путь к бинарникам от SDK. - толку 0 его setup.py все равно не видит.
У меня нет 2005 студии, поэтому дальше я не подскажу. С 2003 студией все компилится автоматом.

Если у вас есть возможность использовать MinGW можно попробовать скомпилить с его помощью.
$m1t
bialix
Большое спасибо за помощь. Я уже написал разработчику в maillist - посомтрим, что теперь получится =)
$m1t
Тфу. Рано обрадовался. Поправил я код для проверки использовав os.path.isfile(name).
textdir="c:/lab/Texts"
print os.listdir(textdir)
for obj in os.listdir(textdir):
if os.path.isfile(obj):
print obj
И на выходе получаю снова:
>>>

1.html

Но файл 2.txt то есть. Я его могу открыть - в фйле “все на месте”. Он является копией файла 1.html - просто переименованная копия. В чем дело понять не могу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB