Phython syntax is not a problem. It is similar to Occam, which appeared
8 years before Python.

On 11/23/18 4:46 PM, Nick Timkovich wrote:
Yeah, the >>> implies you're at the Python REPL, and the page I linked
you to is a few pages into learning to use Fabric; so it's going to
assume you installed the library. If you already know Tcl/Expect, I'm
sure you can bang out a script to do your task at hand, and if you
need it now and don't have time to pick up Python and Fabric on top of
it, that sounds like your best option.

When you get some spare time, there are a bunch of great tutorials
that can help you with the syntax (which may be easy), and also how
Python is loading/running scripts/packages/modules (which is usually
less obvious), which Fabric then uses to find a 'fabfile' package. I
haven't heard of Tidelift, but yeah, I feel your pain that a lot
of training sites which were once free are now pay-only (or very
expertly hide the free options, *coughcodecademycough*). Fortunately,
the gigantic popularity of Python means new, free content is always
being created, so some searching may help (I'm hesitant to cite
anything in particular because I haven't looked at any recently)

I was curious what examples/documentation you were following along
with originally, however, because it seemed incomplete, even for the
3-4 lines that you had. It would be nice to correct it so others
aren't misled in the future.

On Fri, Nov 23, 2018 at 11:39 AM Bob Gustafson <bob...@rcn.com
<mailto:bob...@rcn.com>> wrote:

    Hi Nick

    Yes, 'incomplete' is a charitable description.

    I have zit knowledge of python. Perhaps this has been accidental
    good luck. My favorite languages over the decades have been
    Fortransit, Pascal, Ruby, and lately Nim.

    Using your linked example ('Getting Started'..), starting with the
    first code line:

       >>> from fabric import Connection

    There seems to be a lot that is assumed to have been done by the
    reader. The >>> probably means that the reader has already typed
    'python' to jump into an interactive Python session, but this is
    not mentioned.

    Also, just typing 'python' is not sufficient, as the following
    lines may not work under Python 2.7 or Python 3.7. Which Python is
    invoked depends on what has been typed before.

    Also, 'fabric' is used in the code line. This library must have
    been loaded or the line will not work. Again, loading fabric
    beforehand is not mentioned. Also 'fabric' comes in several
    versions <2, 2, and a version not recommended - 3.

    I see from the libraries, and my experience with Sage, that lots
    of good things have been done with Python. However, the state of
    python documentation available on the internet leaves a lot
    unsaid. Perhaps it is all a game to get new users to buy a
    subscription to Tidelift.

    At this point, for me, coding up 'expect' and fabric in Nim seems
    easier than continuing this frustration.

    Best regards

    Bob G

    On 11/22/18 9:04 PM, Nick Timkovich wrote:
    For the `fab` tool to pick up functions in your fabfile
    module/package as tasks, you need to decorate them with the @task
    decorator (specifically fabric.task). See
    
http://docs.fabfile.org/en/2.4/getting-started.html#addendum-the-fab-command-line-tool
    What documentation are you following? It sounds fairly incomplete
    and could be fixed.

    Nick

    On Thu, Nov 22, 2018 at 2:06 PM Bob Gustafson <bob...@rcn.com
    <mailto:bob...@rcn.com>> wrote:

        I am running on a Mac air with Mojave os 10.14.1.

        I installed python with homebrew

        Also using virtualenv and the folder fabric-test

        cd fabric-test

        air:fabric-test bobgus$ ls
        env     fabfile.py

        air:fabric-test bobgus$ source env/bin/activate

        (env) air:fabric-test bobgus$ which python
        /Users/bobgus/fabric-test/env/bin/python

        (env) air:fabric-test bobgus$ python -V
        Python 3.7.0

        (env) air:fabric-test bobgus$ fab -V
        Fabric 2.4.0
        Paramiko 2.4.2
        Invoke 1.2.0

        (env) air:fabric-test bobgus$ cat fabfile.py
        #!/usr/bin/env python

        def welcome():
           print("Welcome to fabric running on python 3")

        def uptime():
           run("uptime")fab

        --------------------- testing -------

        (env) air:fabric-test bobgus$ fab uptime
        No idea what 'uptime' is!

        (env air:fabric-test bobgus$ fab welcome
        No idea what 'welcome' is!

        --------------------------------------

        I must be doing something wrong here..


        _______________________________________________
        Fab-user mailing list
        Fab-user@nongnu.org <mailto:Fab-user@nongnu.org>
        https://lists.nongnu.org/mailman/listinfo/fab-user

_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to