安装MySQLDb python模块*没有* Internet连接

时间:2013-11-11 17:21:54

标签: python django module mysql-python

在没有 Internet连接的情况下安装MySQLDb(Python模块)

大家好,

我需要在SLES 11开发服务器上安装MySQLDb。由于企业防火墙策略,此Dev Server无法访问公共Internet。我假设这只会是一种麻烦,会迫使我对更容易安装的东西进行源安装等。相反,在尝试最终安装并运行MySQL支持的Django时,我遇到了障碍。

我已经下载并解压缩了MySQL-python-1.2.4,我正在尝试运行它的setup.py。但是,任何尝试运行setup.py,即使只是sudo python setup.py --help,都会导致以下内容

Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz

当然,下载失败了。

我通过distribute下载并安装了当前版本的sudo python setup.py build install模块(0.7.3)。我认为这会使mysql-python的setup.py无法下载distribute。但这似乎并不重要。我确实快速浏览了mysql-client的setup.py,看看下载的强制位置。似乎它的setup.py执行此操作:

from distribute_setup import use_setuptools
use_setuptools()

这称之为:

def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
                   to_dir=os.curdir, download_delay=15, no_fake=True):
    # making sure we use the absolute path
    to_dir = os.path.abspath(to_dir)
    was_imported = 'pkg_resources' in sys.modules or \
        'setuptools' in sys.modules
    try:
        try:
            import pkg_resources
            if not hasattr(pkg_resources, '_distribute'):
                if not no_fake:
                    _fake_setuptools()
                raise ImportError
        except ImportError:
            return _do_download(version, download_base, to_dir, download_delay)

这就是pkg_resources的导入失败(我从命令行重新创建了这个);并且异常处理程序尝试下载,这当然会失败。

我的理解是,distribute无论如何都被弃用,而setuptools应该被使用。我安装了setuptools;但是mysqldb模块是否使用distribute进行了硬编码,可能还有distribute的特定版本,这是我的问题?说实话,我对Python中的模块,依赖项等有点困惑(我在Python中相当平庸)。

谢谢大家, 豆

3 个答案:

答案 0 :(得分:1)

  1. git clone https://github.com/PyMySQL/PyMySQL or download tarball. for mysqldb:https://github.com/farcepest/MySQLdb1
  2. untar it
  3. run sudo python setup.py install
  4. 就是这样。

答案 1 :(得分:1)

猜猜为时已晚,但为了未来的googlers ......

我遇到了同样的问题。为了解决这个问题,我不得不评论这些方面:

if not hasattr(pkg_resources, '_distribute'):
            if not no_fake:
                _fake_setuptools()
            raise ImportError

在此之后,我可以通过python setup.py install安装MySQL-python。

答案 2 :(得分:1)

这个问题的答案似乎取决于版本。 MySQLDb版本1.2.5(撰写本文时的最新版本)以及之后不需要分发,因此python setup.py install将起作用。版本1.2.5于2014年1月发布,所以这个问题就是那么久了。