URI: 
       ttry to import all python dependencies from the main script - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 16c72d286c119562a591dc06303dfeefa3ccfa01
   DIR parent d14c03b47f5da7190fd34073a136f4fa586847e2
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Mon, 26 Jan 2015 14:14:16 +0100
       
       ttry to import all python dependencies from the main script
       
       Diffstat:
         M electrum                            |      29 +++++++++++++++++++++++++++++
         M lib/bitcoin.py                      |      18 +++---------------
         M lib/paymentrequest.py               |       8 +-------
         M lib/x509.py                         |      18 +++---------------
       
       4 files changed, 36 insertions(+), 37 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -36,6 +36,35 @@ if is_local:
        import __builtin__
        __builtin__.use_local_modules = is_local or is_android
        
       +# pure-python dependencies need to be imported here for pyinstaller
       +try:
       +    import aes
       +    import ecdsa
       +    import socks
       +    import requests
       +    import six
       +    import qrcode
       +    import pyasn1
       +    import pyasn1_modules
       +    import tlslite
       +    import pbkdf2
       +except ImportError as e:
       +    sys.exit("Error: %s. Try 'sudo pip install <module-name>'"%e.message)
       +
       +# these imports must be redeclared for pyinstaller
       +import pyasn1.codec
       +import pyasn1.codec.der
       +from pyasn1.codec.der import encoder, decoder
       +from pyasn1_modules import rfc2459
       +
       +# test that we have the correct version of ecdsa
       +try:
       +    from ecdsa.ecdsa import curve_secp256k1, generator_secp256k1
       +except Exception:
       +    print "cannot import ecdsa.curve_secp256k1. You probably need to upgrade ecdsa.\nTry: sudo pip install --upgrade ecdsa"
       +    exit()
       +
       +
        # load local module as electrum
        if __builtin__.use_local_modules:
            import imp
   DIR diff --git a/lib/bitcoin.py b/lib/bitcoin.py
       t@@ -26,15 +26,8 @@ import hmac
        import version
        from util import print_error, InvalidPassword
        
       -try:
       -    import ecdsa
       -except ImportError:
       -    sys.exit("Error: python-ecdsa does not seem to be installed. Try 'sudo pip install ecdsa'")
       -
       -try:
       -    import aes
       -except ImportError:
       -    sys.exit("Error: AES does not seem to be installed. Try 'sudo pip install slowaes'")
       +import ecdsa
       +import aes
        
        ################################## transactions
        
       t@@ -401,12 +394,7 @@ def is_private_key(key):
        
        ########### end pywallet functions #######################
        
       -try:
       -    from ecdsa.ecdsa import curve_secp256k1, generator_secp256k1
       -except Exception:
       -    print "cannot import ecdsa.curve_secp256k1. You probably need to upgrade ecdsa.\nTry: sudo pip install --upgrade ecdsa"
       -    exit()
       -
       +from ecdsa.ecdsa import curve_secp256k1, generator_secp256k1
        from ecdsa.curves import SECP256k1
        from ecdsa.ellipticcurve import Point
        from ecdsa.util import string_to_number, number_to_string
   DIR diff --git a/lib/paymentrequest.py b/lib/paymentrequest.py
       t@@ -27,19 +27,13 @@ import time
        import traceback
        import urllib2
        import urlparse
       -
       +import requests
        
        try:
            import paymentrequest_pb2
        except:
            sys.exit("Error: could not find paymentrequest_pb2.py. Create it with 'protoc --proto_path=lib/ --python_out=lib/ lib/paymentrequest.proto'")
        
       -try:
       -    import requests
       -except ImportError:
       -    sys.exit("Error: requests does not seem to be installed. Try 'sudo pip install requests'")
       -
       -
        import bitcoin
        import util
        import transaction
   DIR diff --git a/lib/x509.py b/lib/x509.py
       t@@ -20,21 +20,9 @@
        from datetime import datetime
        import sys
        
       -try:
       -    import pyasn1
       -except ImportError:
       -    sys.exit("Error: pyasn1 does not seem to be installed. Try 'sudo pip install pyasn1'")
       -
       -try:
       -    import pyasn1_modules
       -except ImportError:
       -    sys.exit("Error: pyasn1 does not seem to be installed. Try 'sudo pip install pyasn1-modules'")
       -
       -try:
       -    import tlslite
       -except ImportError:
       -    sys.exit("Error: tlslite does not seem to be installed. Try 'sudo pip install tlslite'")
       -
       +import pyasn1
       +import pyasn1_modules
       +import tlslite
        
        # workaround https://github.com/trevp/tlslite/issues/15
        tlslite.utils.cryptomath.pycryptoLoaded = False