Dear Rushad, Rushad Faridi <[email protected]> writes:
> Firs I tried ledger 2.x approach since 3.x can not do the conversion. I > had not much of a problem installing 2.x but after I issued the command " > ledger -f myfile.gnucash print > myfile.txt" it spitted out 27 lines of > error with something " invalid date string". I had a cursory look at my > account entries but did not find anything wrong. Any suggestions on how to > fix that? What were the errors that you saw? Probably someone here can help you with this, but we'd need more information about what went wrong. > Anyway, I went ahead > and ran the python script "gnucash2ledger.py" downloaded from > "https://github.com/MatzeB/pygnucash" in the following manner: > > python2.7 gnucash2ledger.py myfile.gnucash print > test.txt (It does not look like you should have "print" in this command line invocation, though probably the Python program is just ignoring it.) > The error came through is as follows: > > Traceback (most recent call last): > File "gnucash2ledger.py", line 35, in <module> > data = gnucash.read_file(sys.argv[1]) > AttributeError: 'module' object has no attribute 'read_file' This is a strange error to see, if you are indeed using the code from that repository. Python is complaining that it can't find the read_file function in the gnucash module. But the gnucash module from that repository does contain such a function. So either you're importing a *different* module named "gnucash", or something very weird is happening in the gnucash2ledger module that messes up the attributes of its own gnucash module. I suspect the former. Try this: 1) Run a Python interpreter from a directory *outside* the repository you referenced (so that the pygnucash code is not on Python's search path). 2) Type 'import gnucash' at the prompt. You should see an ImportError. 3) If you do *not* see an ImportError, your Python is importing some other module named 'gnucash' (perhaps this comes with GnuCash itself?). Try typing: gnucash.__file__ gnucash.__path__ at the Python prompt. This will tell you where the conflicting gnucash module is located. 4) If you *do* see an ImportError, quit Python, and try these steps again, but this time run Python from *inside* the pygnucash repository. This time, you should *not* see an ImportError. In that case, make sure that gnucash.__file__ and gnucash.__path__ are what you'd expect, and then try hasattr(gnucash, 'read_file') This should return True. Let us know what you see! Best, Richard -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
