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