linux python hashlib,python – 无法在服务器更新后找到HashLib模块

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

Dreamhost星期六做了服务器更新,现在我们的脚本找不到特定的模块 – MD5.当我们去导入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 =

return _sha.new

elif name in ('MD5', 'md5'):

import _md5

return _md5.new

elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'):

_md5 undefined

args = ('No module named _md5',)

message = 'No module named _md5'

解决方法:

我遇到了完全相同的问题.我在自己的virtualenv中运行Python 2.7.

我试图避免重新安装python并运行Django 1.7应用程序.

以下方法适用于我.

步骤1.(可能没有必要执行此步骤)

我卸载了pythonbrew,因为它在这里说:http://wiki.dreamhost.com/Python

pythonbrew已被弃用.

如果您是从头开始这样做pyenv是要走的路,但您不需要重新安装

virtualenv等.开始摆脱pythonbrew.

$rm -Rf ~/.pythonbrew

删除了.bashrc中的引用到pythonbrew

第2步.

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

$~/env> virtualenv myNewEnvironment

$~/env/myNewEnvironment/bin> source activate

$pip freeze

你现在有一个干净的石板,从头开始重建依赖项.

至少解决了“import hashlib”问题.这给你一个干净

python版本正确链接到新的Ubuntu操作系统.

(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,unix,dreamhost

来源: https://codeday.me/bug/20190609/1207232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值