I’m running Python 2.7.2 on OS 10.8.5
Trying to use pymssql, but I get the following error:
File "time_reporting.py", line 32, in <module> import pymssql File "/Users/xx/.virtualenvs/oracle/lib/python2.7/site-packages/pymssql.py", line 30, in <module> import _mssql, types, string, time, datetime, warnings ImportError: No module named _mssql
I’ve tried installing mssql with pip and brew only to be told that there’s no package by that name. The docs don’t seem to cover installation.
EDIT:
When I try to pip install pymssql
I get:
Downloading/unpacking pymssql Running setup.py egg_info for package pymssql setup.py: platform.system() => 'Darwin' setup.py: platform.architecture() => ('32bit', '') setup.py: platform.linux_distribution() => ('', '', '') setup.py: platform.libc_ver() => ('', '') setup.py: Detected Darwin/Mac OS X. You can install FreeTDS with Homebrew or MacPorts, or by downloading and compiling it yourself. Homebrew (http://brew.sh/) -------------------------- brew install freetds MacPorts (http://www.macports.org/) ----------------------------------- sudo port install freetds setup.py: Not using bundled FreeTDS Traceback (most recent call last): File "<string>", line 16, in <module> File "/Users/xxx/.virtualenvs/oracle/build/pymssql/setup.py", line 181, in <module> if compiler.has_function('clock_gettime', libraries=['rt']): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 808, in has_function objects = self.compile([fname], include_dirs=include_dirs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 616, in compile depends, extra_postargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 412, in _setup_compile self.mkpath(os.path.dirname(obj)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 931, in mkpath mkpath(name, mode, dry_run=self.dry_run) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dir_util.py", line 76, in mkpath "could not create '%s': %s" % (head, exc.args[-1])) distutils.errors.DistutilsFileError: could not create 'var': Permission denied Complete output from command python setup.py egg_info: setup.py: platform.system() => 'Darwin' setup.py: platform.architecture() => ('32bit', '') setup.py: platform.linux_distribution() => ('', '', '') setup.py: platform.libc_ver() => ('', '') setup.py: Detected Darwin/Mac OS X. You can install FreeTDS with Homebrew or MacPorts, or by downloading and compiling it yourself. Homebrew (http://brew.sh/) -------------------------- brew install freetds MacPorts (http://www.macports.org/) ----------------------------------- sudo port install freetds setup.py: Not using bundled FreeTDS Traceback (most recent call last): File "<string>", line 16, in <module> File "/Users/xxx/.virtualenvs/oracle/build/pymssql/setup.py", line 181, in <module> if compiler.has_function('clock_gettime', libraries=['rt']): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 808, in has_function objects = self.compile([fname], include_dirs=include_dirs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 616, in compile depends, extra_postargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 412, in _setup_compile self.mkpath(os.path.dirname(obj)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/ccompiler.py", line 931, in mkpath mkpath(name, mode, dry_run=self.dry_run) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dir_util.py", line 76, in mkpath "could not create '%s': %s" % (head, exc.args[-1])) distutils.errors.DistutilsFileError: could not create 'var': Permission denied
So I try brew install freetds
and I get:
Warning: freetds-0.91 already installed, it's just not linked
which at least makes sense, but I don’t know how to fix it.
EDIT: I’ve linked it, so brew install freetds
gives the message that it’s already installed, but pip install pymssql
still gives the above error message.
EDIT:
export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments pip uninstall MySQL-python brew uninstall mysql brew install mysql --universal pip install MySQL-python
Which now gives me the error:
Traceback (most recent call last): File "time_reporting.py", line 34, in <module> import pymssql ImportError: dlopen(/Users/xxx/.virtualenvs/oracle/lib/python2.7/site-packages/pymssql.so, 2): Symbol not found: _dbversion Referenced from: /Users/xxx/.virtualenvs/oracle/lib/python2.7/site-packages/pymssql.so Expected in: flat namespace in /Users/xxx/.virtualenvs/oracle/lib/python2.7/site-packages/pymssql.so
Which I’ve had and fixed before but I don’t remember what I did.
EDIT:
OK, I’ve re-installed the 32-bit oracle and forced Python to run the 32-bit version (I think. I really have no idea what that last sentence means, but I think I’ve followed instructions correctly).
At any rate, here’s my error message now:
File "time_reporting.py", line 31, in <module> import cx_Oracle File "build/bdist.macosx-10.8-x86_64/egg/cx_Oracle.py", line 7, in <module> File "build/bdist.macosx-10.8-x86_64/egg/cx_Oracle.py", line 6, in __bootstrap__ ImportError: dlopen(/Users/xxx/.python-eggs/cx_Oracle-5.1.3-py2.7-macosx-10.8-x86_64.egg-tmp/cx_Oracle.so, 2): no suitable image found. Did find: /Users/xxx/.python-eggs/cx_Oracle-5.1.3-py2.7-macosx-10.8-x86_64.egg-tmp/cx_Oracle.so: mach-o, but wrong architecture
Advertisement
Answer
Ran these as root:
export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments
Then had to do:
pip uninstall MySQL-python brew uninstall mysql brew install mysql --universal pip install MySQL-python
Not sure if it will be successful but it’s at least a new error message.