在没有Internet连接的情况下安装MySQLDb python模块*

在没有Internet连接的情况下安装MySQLDb python模块*,python,django,module,mysql-python,Python,Django,Module,Mysql Python,在没有Internet连接的情况下安装MySQLDb(Python模块) 大家好 我需要在SLES 11开发服务器上安装MySQLDb。由于公司防火墙策略,此开发人员服务器无法访问公共internet。我认为这只是一个麻烦,它会迫使我在其他更容易安装的东西上进行源代码安装等。相反,我在尝试最终安装并运行支持MySQL的Django时遇到了麻烦 我已经下载并解压缩了MySQL-python-1.2.4,我正在尝试运行它的setup.py。但是,任何运行setup.py的尝试,即使只是sudopyt

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

大家好

我需要在SLES 11开发服务器上安装MySQLDb。由于公司防火墙策略,此开发人员服务器无法访问公共internet。我认为这只是一个麻烦,它会迫使我在其他更容易安装的东西上进行源代码安装等。相反,我在尝试最终安装并运行支持MySQL的Django时遇到了麻烦

我已经下载并解压缩了MySQL-python-1.2.4,我正在尝试运行它的setup.py。但是,任何运行setup.py的尝试,即使只是
sudopythonsetup.py--help
,都会出现在下面

Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz
当然下载失败了

我通过
sudo python setup.py build-install
下载并安装了当前版本的
distribute
模块(0.7.3)。我认为这会阻止mysql python的setup.py尝试下载
分发
。但这似乎并不重要。我确实快速查看了mysql客户端的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_资源的导入失败(我从命令行复制了这一点);异常处理程序尝试下载,当然失败了

我的理解是,
distribute
无论如何都是不推荐的,应该改用
setuptools
。我确实安装了
setuptools
;但是mysqldb模块是否硬编码为使用
distribute
,或者可能是
distribute
的特定版本,这是我的问题?老实说,在这一点上,我对Python中的模块、依赖项等有点困惑(我在Python方面相当平庸)

谢谢大家, 豆子

  • git克隆https://github.com/PyMySQL/PyMySQL 或者下载tarball。
    对于mysqldb:
    https://github.com/farcepest/MySQLdb1
  • untar it
  • 运行sudo python setup.py安装

  • 就这些。

    我想已经太晚了,但为了未来的谷歌人

    我也有同样的问题。为了解决这个问题,我不得不评论以下几行:

    如果不是hasattr(pkg_资源,'u分发'):
    如果不是无伪:
    _假设置工具()
    引起恐慌
    

    在此之后,我能够通过
    python setup.py install安装MySQL-python

    这个问题的答案似乎取决于版本。1.2.5版(撰写本文时的最新版本)和更高版本不需要distribute,因此
    python setup.py install
    可以正常工作。版本1.2.5于2014年1月发布,所以这个问题就这么老了。

    谢谢。。。但是这些看起来像是安装
    pymysql
    ,而不是
    mysqldb
    的说明。由于我的目标是运行Django,而Django不支持
    pymysql
    ,而且由于我遵循了等人的建议,试图让Django使用
    pymysql
    ,但仍然有一个重要的问题,我恐怕这个答案不是100%适合我的需要。尽管如此,我还是很好奇为什么
    mysqldb
    setup.py试图下载
    distribute
    的版本,尽管有1。我已经安装了最新的
    分发版
    和2<代码>分发已被
    设置工具
    排除,我还安装了最新的
    设置工具