gpt4 book ai didi

python - 服务器更新后找不到 HashLib 模块

转载 作者:太空狗 更新时间:2023-10-30 02:45:01 25 4
gpt4 key购买 nike

我在 Dreamhost 服务器上运行 Python 脚本。我们的 Python 脚本使用 Python 2.7 - 我们进行了自定义安装,因为 Dreamhost 使用 Python 2.6。在 1 年内一切正常。

Dreamhost 昨天更新了服务器,现在我们的脚本找不到特定模块 - MD5。当我们转到 import hashlib 时,脚本会输出以下错误。

我需要做什么来纠正这个问题?

  • 我应该重新安装 Python 2.7 吗?
  • 我应该重新安装 Pip 和 Easy_Install 吗?
  • 我应该重新安装 VirtualEnv 吗?
  • 你还有什么建议我做的吗?

所有 Python 脚本的错误:

/home/user/script.py in () 
import hashlib
hashlib undefined

/home/user/python/lib/python2.7/hashlib.py in ()
# version not supporting that algorithm.
try:
globals()[__func_name] = __get_hash(__func_name)
except ValueError:
import logging builtin globals = <built-in function globals, __func_name = 'md5', __get_hash = <function __get_builtin_constructor /home/user/python/lib/python2.7/hashlib.py in __get_builtin_constructor(name='md5')
return _sha.new
elif name in ('MD5', 'md5'):
import _md5
return _md5.new
elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'):
_md5 undefined

<type 'exceptions.ImportError': No module named _md5
args = ('No module named _md5',)
message = 'No module named _md5'

最佳答案

我遇到了完全相同的问题。我在自己的 virtualenv 中运行 Python 2.7。我试图避免重新安装 python 并运行 Django 1.7 应用程序。

以下方法对我有用。

第 1 步。(此步骤可能不是必需的)

我卸载了 pythonbrew,因为它在这里说:http://wiki.dreamhost.com/Pythonpythonbrew 已被弃用。如果你是从头开始做的,pyenv 是可行的,但你不需要重新安装virtualenv 等。首先摆脱 pythonbrew。

$ rm -Rf ~/.pythonbrew

删除了 .bashrc 中对 pythonbrew 的引用

第 2 步。

无需重新安装 virtualenv。只需创建一个新的虚拟环境

$~/env> virtualenv myNewEnvironment
$~/env/myNewEnvironment/bin> source activate
$ pip freeze

您现在有了一个干净的平台,开始从头开始重建依赖项。至少解决了“导入 hashlib”问题。这给你一个干净的正确链接到新 Ubuntu 操作系统的 python 版本。

(myNewEnvironment):~> which python
~/env/myNewEnvironment/bin/python
(myNewEnvironment):~> python
Python 2.7.3 (default, Feb 27 2014, 19:58:35)
[GCC 4.6.3] on linux2
installed on Ubuntu 12.04 (which is the new OS)

验证: import hashlib 不应抛出错误

第 3 步。

pip install Django
pip install MySQL-python

完成/重新检查中列出的剩余步骤也可能更安全 http://wiki.dreamhost.com/Django (或适合您的框架的维基页面)

现在这允许我启动并运行我的网站,(但是)有一个警告在我弄清楚更多之前,我暂时忽略了这一点:您有未应用的迁移;在应用它们之前,您的应用程序可能无法正常工作。运行“python manage.py migrate”来应用它们。

祝你好运!

关于python - 服务器更新后找不到 HashLib 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26227493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com