2009-12-16 4 views
3

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

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' 

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

+0

Я работаю в Windows, но я использую cygwin, включая python, fabric и git для управления версиями и развертывания. Абсолютно без хлопот, отлично работает. Вам нужно только изменить fabric/base.py и удалить значение «cygwin» в строке с помощью win32api. Но, кроме этой незначительной ошибки, она работает очень гладко – robertnl

ответ

4

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

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

+0

Это была моя первая идея, но любые идеи о том, как это устанавливается через easy_install? Я думаю, что это может быть случай загрузки источника и компиляции через cygwin ... – Jon

+0

Попробуйте 'easy_install -U fabric', чтобы получить последнюю версию. –

+1

Удивительный, спасибо. Я начал с нуля с Fabric 0.9 и написал шаги, которые я сделал для установки в Windows: http://blog.oogly.co.uk/builddeploy/installing-and-running-fabric-on-windows – Jon

0

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

2

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

+0

Это сработало для проблемы с readline, но ... Я столкнулся с ошибкой модуля win32 (которую я также исправил установкой pywin32). Однако теперь я застрял в исключении paramiko SSH - paramiko.SSHException: нет подходящего семейства адресов для xxxx – Jon

2

0.1.1 - это более старая версия, я считаю. У меня нет никаких проблем с установкой Fabric на Windows, с ActivePython (ж/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 
+1

Если это работает (я не пробовал - я исправил базовую установку python), вам действительно нужно связаться с Fabric ребята и убедитесь, что они добавили примечание к их инструкциям по установке - помогли бы сэкономить много времени. – Jon

+0

Jon, я сделал запрос в их трекер проблемы: http://code.fabfile.org/issues/show/127 –

+0

Удивительный, спасибо. Я уверен, что это поможет многим людям в той же ситуации ... – Jon

1
  1. Скачать и запустить easy_install инсталлятор для вашей версии питона от http://pypi.python.org/pypi/setuptools#downloads. т.е.: setuptools-0.6c11.win32-py2.6.exe
  2. В командной строке, lauch easy_install -U fabric для установки последней ткани выпуск.
4

После этих шагов точно работали для меня:

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

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

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

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

Advanced system settings>Environment Variables>Path

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

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

7) теперь работают 'easy_install пип'

8) Теперь запустите 'пункт установить ткань'

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

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

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

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

12) CD в этот каталог и запустить «потрясающий привет: за работой'. Вы должны увидеть вывод:

Hello working! 

Done. 

 Смежные вопросы

  • Нет связанных вопросов^_^