1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
#!/usr/bin/python
import os, sys
# Simple python script to install mma from tarball
# This should be fixed to be more versatile. Volunteers?
PY3 = sys.version_info[0] >= 3 # set if running python3
# In python3 raw_input() has been renamed input()
if PY3:
raw_input = input
def okay(msg):
print(msg)
a=raw_input(" Press <ENTER> to continue (anything else will terminate): ")
if a:
sys.exit(1)
return
pyMaj=2
pyMin=6
# Before we do anything, make sure we have an up-to-date python.
if not PY3:
if sys.version_info[0] < pyMaj or sys.version_info[1] < pyMin:
print("\nYou need a more current version of Python to run MMA and this install script.")
print("We're looking for something equal or greater than version %s.%s or any 3.x" % \
(pyMaj,pyMin))
print("Current Python version is %s.\n" % sys.version)
sys.exit(0)
# Check to make sure user has root permissions.
print("""
This script will install mma, the standard library and the
python modules using symbolic links to the current directory.
""")
try:
u=os.getuid()
except:
u=1
if u:
okay("""You do not appear to be running this script as 'root' user.
Continuing will probably cause all kinds of strange errors
and a generally unsatisfactory experience. But, we can try...
""")
rootdir = "/usr/local/share"
rootexe = "/usr/local/bin"
dir = rootdir + "/mma"
exe = rootexe + "/mma"
# Check to make sure install directories exist. Offer to create
# ... these might need to be created in Mac OS X
if not os.path.exists(rootdir):
okay("""The directory %s does not exist. Create okay?""" % rootdir)
if os.system("mkdir -p %s" % rootdir):
print("Opps, create failed. Were you root?")
sys.exit(1)
if not os.path.exists(rootexe):
okay("""The directory %s does not exist. Create okay?""" % rootexe)
if os.system("mkdir -p %s" % rootexe):
print("Opps, create failed. Were you root?")
sys.exit(1)
if os.path.exists(dir):
okay("""The directory %s currently exists. Proceeding will overwrite
with a new link. YOU MAY LOSE DATA.""" % dir)
if os.path.exists(exe):
okay("""The file %s currently exists. Proceeding will remove this
file with a new link. YOU MAY LOSE DATA.""" % exe)
okay("""Okay, I'm ready to create the links. I will create 2 links:
- The main distribution and library at %s
- The callable executable at %s
""" % (dir, exe) )
os.system("ln -sf `pwd` %s" % dir)
os.system("ln -sf `pwd`/mma.py %s" % exe)
print("There are some man pages in %s/docs/man that you may wish to install." % dir)
print("Everything seems to be okay. We suggest you first update the database")
print("with the command mma -G.")
print("Have Fun!")
|