[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Basic questoins

From: Peter Bee
Subject: Re: [Fab-user] Basic questoins
Date: Thu, 12 Aug 2010 17:30:08 -0700 (PDT)

Thank you Kevin. It's too late - I had been on the way with Cygwin/MinGW
Now I have gone through all the pain steps (Fabric->SSH->Cygwin, Fabric->Paramiko->pycrypto->MinGW <to fix build errors>), all required compoents (as I know) have been installed.
But when I tried my first test, I got the following error:
E:\fabric\test>fab test deploy
Traceback (most recent call last):
  File "C:\Python26\Scripts\fab-script.py", line 9, in <module>
    load_entry_point('Fabric==0.9.1', 'console_scripts', 'fab')()
  File "C:\Python26\lib\site-packages\pkg_resources.py", line 305, in load_entry
    return get_distribution(dist).load_entry_point(group, name)
  File "C:\Python26\lib\site-packages\pkg_resources.py", line 2244, in load_entr
    return ep.load()
  File "C:\Python26\lib\site-packages\pkg_resources.py", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\main.py", li
ne 17, in <module>
    from fabric import api # For checking callables against the API
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\api.py", lin
e 9, in <module>
    from fabric.context_managers import cd, hide, settings, show
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\context_mana
gers.py", line 12, in <module>
    from fabric.state import env, output
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\state.py", l
ine 9, in <module>
    from fabric.network import HostConnectionCache
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\network.py",
 line 19, in <module>
    abort("paramiko is a required module. Please install it:\n\t$ sudo easy_inst
all paramiko")
  File "C:\Python26\lib\site-packages\fabric-0.9.1-py2.6.egg\fabric\utils.py", l
ine 21, in abort
    from fabric.state import output
ImportError: cannot import name output

It seems to me that the error is on the confituraiton or component installation, it didn't really touch any of the real code. Is that right?
I see it complained about 'paramiko', but I did have it installed successfully. Here is the output of the installation:
E:\fabric\paramiko-1.7.6\paramiko-1.7.6>python setup.py install
running install
install_dir C:\Python26\Lib\site-packages\
running bdist_egg
running egg_info
writing requirements to paramiko.egg-info\requires.txt
writing paramiko.egg-info\PKG-INFO
writing top-level names to paramiko.egg-info\top_level.txt
writing dependency_links to paramiko.egg-info\dependency_links.txt
reading manifest file 'paramiko.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'user_rsa_key' under directory 'demos'
warning: no files found matching 'user_rsa_key.pub' under directory 'demos'
writing manifest file 'paramiko.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\agent.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\auth_handler.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\ber.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\buffered_pipe.py -> build\bdist.win-amd64\egg\paramik
copying build\lib\paramiko\channel.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\client.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\common.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\compress.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\config.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\dsskey.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\file.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\hostkeys.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\kex_gex.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\kex_group1.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\logging22.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\message.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\packet.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\pipe.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\pkey.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\primes.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\resource.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\rng.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\rng_posix.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\rng_win32.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\rsakey.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\server.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_attr.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_client.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_file.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_handle.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_server.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\sftp_si.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\ssh_exception.py -> build\bdist.win-amd64\egg\paramik
copying build\lib\paramiko\transport.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\util.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\win_pageant.py -> build\bdist.win-amd64\egg\paramiko
copying build\lib\paramiko\__init__.py -> build\bdist.win-amd64\egg\paramiko
byte-compiling build\bdist.win-amd64\egg\paramiko\agent.py to agent.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\auth_handler.py to auth_handle
byte-compiling build\bdist.win-amd64\egg\paramiko\ber.py to ber.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\buffered_pipe.py to buffered_p
byte-compiling build\bdist.win-amd64\egg\paramiko\channel.py to channel.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\client.py to client.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\common.py to common.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\compress.py to compress.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\config.py to config.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\dsskey.py to dsskey.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\file.py to file.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\hostkeys.py to hostkeys.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\kex_gex.py to kex_gex.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\kex_group1.py to kex_group1.py
byte-compiling build\bdist.win-amd64\egg\paramiko\logging22.py to logging22.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\message.py to message.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\packet.py to packet.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\pipe.py to pipe.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\pkey.py to pkey.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\primes.py to primes.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\resource.py to resource.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\rng.py to rng.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\rng_posix.py to rng_posix.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\rng_win32.py to rng_win32.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\rsakey.py to rsakey.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\server.py to server.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp.py to sftp.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_attr.py to sftp_attr.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_client.py to sftp_client.
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_file.py to sftp_file.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_handle.py to sftp_handle.
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_server.py to sftp_server.
byte-compiling build\bdist.win-amd64\egg\paramiko\sftp_si.py to sftp_si.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\ssh_exception.py to ssh_except
byte-compiling build\bdist.win-amd64\egg\paramiko\transport.py to transport.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\util.py to util.pyc
byte-compiling build\bdist.win-amd64\egg\paramiko\win_pageant.py to win_pageant.
byte-compiling build\bdist.win-amd64\egg\paramiko\__init__.py to __init__.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying paramiko.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying paramiko.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying paramiko.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-
copying paramiko.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying paramiko.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist\paramiko-1.7.6-py2.6.egg' and adding 'build\bdist.win-amd64\egg'
to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing paramiko-1.7.6-py2.6.egg
removing 'c:\python26\lib\site-packages\paramiko-1.7.6-py2.6.egg' (and everythin
g under it)
creating c:\python26\lib\site-packages\paramiko-1.7.6-py2.6.egg
Extracting paramiko-1.7.6-py2.6.egg to c:\python26\lib\site-packages
paramiko 1.7.6 is already the active version in easy-install.pth
Installed c:\python26\lib\site-packages\paramiko-1.7.6-py2.6.egg
Processing dependencies for paramiko==1.7.6
Searching for pycrypto==2.0.1
Best match: pycrypto 2.0.1
Adding pycrypto 2.0.1 to easy-install.pth file
Using c:\python26\lib\site-packages
Finished processing dependencies for paramiko==1.7.6
Can anybody see what's the problem I have here?

Qestion1: are there any SSH server native to Windows, I mean from Microsoft? What is the best SSH server we can install on our remote Windows that the Fabric system can talk (or work) with? I don't think I need or want to do the same installation as I did to setup Fabric.
Question2: do I need 'git' account when I set SSH server with Cygwin? If so, what's the purpose for the account?

--- On Thu, 8/12/10, Kevin Horn <address@hidden> wrote:

From: Kevin Horn <address@hidden>
Subject: Re: [Fab-user] Basic questoins
To: address@hidden
Date: Thursday, August 12, 2010, 12:10 PM

You might try CopSSH: http://www.itefix.no/i2/node/27

Kevin Horn

On Thu, Aug 12, 2010 at 1:32 PM, Peter Bee <address@hidden> wrote:
I am shooting to setup Fabric on a basic Windows system, but I have problem to locate a proper SSH2 server, does anybody have recommend? Unless it's free, I probably will try with eval version then buy.


--- On Thu, 8/12/10, Peter Bee <address@hidden> wrote:

From: Peter Bee <address@hidden>

Subject: Re: [Fab-user] Basic questoins
To: "Jeff Forcier" <address@hidden> Date: Thursday, August 12, 2010, 8:59 AM

Hi Jeff,
Thank you for your prompt and helpful reply.
It's definitly good news to me that Fabric can target Windows systems (we are using Win 2008 Server R2, I hope it's under the coverage of Fabric targets). But my search (including user samples) are all about targeting Linux/Unix, do you have any source of targeting Windows?
To my understand, we only need to install Fabric/Python/Paramiko on our pushing (local) system, are there any requirements (except SSH2 server) on the remote systems?
You mentioned to support single command invokation, should all standard systems (Windows and Linux <RedHat 5.4>) have that feature? How can I verify that? Sorry for this question, I guess it's too basic (for you), but I just want to ensure that I have all the requirements before I move too far. 


--- On Wed, 8/11/10, Jeff Forcier <address@hidden> wrote:

From: Jeff Forcier <address@hidden>
Subject: Re: [Fab-user] Basic questoins
To: "Peter Bee" <address@hidden>
Cc: address@hidden
Date: Wednesday, August 11, 2010, 6:32 PM

Hi Peter,

On Wed, Aug 11, 2010 at 9:08 PM, Peter Bee <address@hidden> wrote:

> Is there any way it can work on Windows?

Fabric can be run on any platform that supports Python, so yes, it
will run on Windows. And while most of the development and userbase
runs it from Unix-based platforms like Linux and Mac OS X, there's at
least a few Windows users who keep us honest :) Cygwin is highly
recommended, though not required.

In terms of what Fabric can target (i.e. the remote machines connected
to) it can target anything that runs a valid SSH2 server and supports
single command invocation.

> What is the current stable release of Fabric, 0.9 or 1.0?

0.9.1 is the latest stable release; 1.0 is not a real release yet,
it's simply the label for the expected next major release. Once 1.0
comes out (which will be soon) both 0.9.x and 1.0.x lines will be
supported for a while, and 1.0 will be largely (not entirely)
backwards compatible so it should be an easy upgrade.

> We have installed Python2.6.5 on our systems, is that good for Fabric?

Python 2.6.5 is fine, though you will need to install Paramiko 1.7.6
after installing Fabric, as there is a known issue with our bundled
version of the Paramiko library on Python 2.6.5.


Jeff Forcier
Unix sysadmin; Python/Ruby developer

-----Inline Attachment Follows-----

Fab-user mailing list

Fab-user mailing list

-----Inline Attachment Follows-----

Fab-user mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]