Установка ткани в Windows (ошибка не вызвана модулем модуля)

Я пытаюсь использовать инструмент развертывания Fabric 0.1.1 (http://docs.fabfile.org/) в Windows и мы столкнулись с проблемой с модулем readline. Я прошел через разные темы, но не могу решить эту проблему. Это важно, потому что мы не можем развертывать приложения на компьютерах под управлением Windows.

C:\Documents and Settings\dev\Desktop\deploy>fab
Traceback (most recent call last):
  File "C:\python\Scripts\fab-script.py", line 8, in <module>
    load_entry_point('fabric==0.1.1', 'console_scripts', 'fab')()
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py"
, line 277, in load_entry_point
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py"
, line 2180, in load_entry_point
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py"
, line 1913, in load
  File "build\bdist.win32\egg\fabric.py", line 25, in <module>
**ImportError: No module named readline**

Установка модуля приводит к:

**easy_install readline**
Searching for readline
Reading http://pypi.python.org/simple/readline/
Reading http://www.python.org/
Best match: readline 2.6.4
Downloading http://pypi.python.org/packages/source/r/readline/readline-2.6.4.tar
.gz#md5=7568e8b78f383443ba57c9afec6f4285
Processing readline-2.6.4.tar.gz
Running readline-2.6.4\setup.py -q bdist_egg --dist-dir c:\docume~1\ji81b9~1.che
\locals~1\temp\easy_install-pzkz1a\readline-2.6.4\egg-dist-tmp-szs2ps
Traceback (most recent call last):
  File "C:\python\Scripts\easy_install-script.py", line 8, in <module>
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 1671, in main
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 1659, in with_ei_usage
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 1675, in <lambda>
  File "c:\python\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "c:\python\lib\distutils\dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "c:\python\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 211, in run
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 446, in easy_install
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 476, in install_item
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 655, in install_eggs
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 930, in build_and_install
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman
d\easy_install.py", line 919, in run_setup
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo
x.py", line 27, in run_setup
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo
x.py", line 63, in run
  File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo
x.py", line 29, in <lambda>
  File "setup.py", line 93, in <module>
AttributeError: 'module' object has no attribute 'symlink'

Кто-нибудь решил эту проблему или кто-нибудь может предложить обходное решение?

Ответ 1

Модуль readline, который вы пытаетесь установить с помощью easy_install, предназначен для OS X, а не для окон. Существуют замены для Windows, совместимые с Windows, но, возможно, вы должны сначала попробовать обновить fabric себя до более текущей версии (0.9 теперь там).

Грепинг источника версии 0.9 не находит зависимостей от readline.

Ответ 2

Следуя этим шагам, я работал именно так:

1) Установлен с помощью установщик MSI для x86 из здесь.

2) Установлен в каталоге C:\Python27 по умолчанию.

3) Создайте новый каталог: C:\Python27\Scripts

4) Добавлены C:\Python27 и C:\Python27\Scripts к системному пути:

Advanced system settings>Environment Variables>Path

5) Загрузите distribute_setup.py из здесь в C:\Python27\Scripts

6) Откройте командную строку, перейдите к C:\Python27\Scripts, запустите: 'python distribute_setup.py'

7) теперь запустите 'easy_install pip'

8) теперь запустите 'pip install fabric'

9) Вы должны получить сообщение об ошибке, которое PyCrypto не удалось установить. Вы можете загрузить предварительную сборку двоичный файл Windows из здесь. Запустите это, чтобы установить PyCrypto.

10) снова запустите 'pip install fabric', и он должен сказать, что все установлено.

11) в другом каталоге (скажем, c:\dev\hello) создайте файл fabfile.py и добавьте следующий код:

def hello(name="world"):
    print("Hello %s!" % name)

12) cd в этот каталог и запустите "fab hello: working". Вы должны увидеть вывод

Hello working!

Done.

Ответ 3

Дайте этому readline попробовать. Это модуль для Windows, который позволяет добавлять дополнительные функции в IPython, которые не являются родными и могут работать с тем, что вы пытаетесь сделать.

Ответ 4

0.1.1 - это более старая версия, я считаю. У меня нет проблем с установкой Fabric в Windows с ActivePython (w/PyPM):

C:\> pypm install fabric
Ready to perform these actions:
The following packages will be installed:
 fabric-0.9.0 pycrypto-2.0.1
Get: [pypm.activestate.com] fabric 0.9.0-1
Get: [pypm.activestate.com] pycrypto 2.0.1-1
Installing fabric-0.9.0
Fixing script C:\Users\sridharr\AppData\Roaming\Python\Scripts\fab-script.py
Installing pycrypto-2.0.1

Ответ 5

  • Загрузите и запустите программу установки easy_install для вашей версии python из http://pypi.python.org/pypi/setuptools#downloads. т.е.: setuptools-0.6c11.win32-py2.6.exe
  • В командной строке lauch easy_install -U fabric установите последнюю структуру.

Ответ 6

Readline должен быть доступен с Cygwin, если вы хотите переместить весь свой стек в этом направлении.