try to import all python dependencies from the main script

This commit is contained in:
ThomasV 2015-01-26 14:14:16 +01:00
parent d14c03b47f
commit 16c72d286c
4 changed files with 36 additions and 37 deletions

View File

@ -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

View File

@ -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
@ -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

View File

@ -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

View File

@ -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