安装OpenSSL,踩坑记录

第一次装这个,本来以为网上资料这么多,装个SSL不难。天呐!我为什么踩到的都是别人没发生过的坑!!为什么我的和别人说的不一样!!

首先,参考了已经写的很完善的资料:

https://blog.csdn.net/qq_38064109/article/details/79473837

https://www.cnblogs.com/yangyquin/p/5284530.html

 

 

下载SSL三个都可,我开始下的第三个,后面遇到问题过不去,我以为我下错文件又改下第一个文件。。。(好像都是可以的,是复制到目录后的生成配置文件那部忘记了。)

 

然后是-->文件复制到的路径问题,我查到几种说法,上面说一定放到 C:\Program Files(X86)里,还有说不能还在C:\Program Files这样路径中有空格的路径中。。。

*** 注意:64位的需要做不同处理 https://www.linuxidc.com/Linux/2014-10/108502.htm

坑:

  • 1. vcvars32.bat 路径问题,我的VS2015 这个文件的路径为什么在。。\Common7\Tools里??

 

  •  2. ‘nasm‘ 不是内部或外部命令,也不是可运行的程序 -->下载nasm.exe和ndisasm.exe作为加载汇编代码用的 有些旧版的好像不行。。。

 

  • 3. 安装了VC++等环境。。还是提示 NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe"

-->用Win10 左下角搜素cmd,以管理员身份运行 VS20xx x64 本机命令工具提示符

 

  • 4. openssl genrsa -out subdomain.domain.com.key 1024 --> 

这个对我于的情况根本没有用,我发现文件openssl.cfg本来就在这个路径下了,所以的直接在环境变量里加了

OPENSSL_CONF    C:\openssl-1.0.2q\apps\openssl.cnf  

还有一些自己都不敢放上来的问题(坑),因为解决后才意识到那只是因为我。。。垃圾

 

  • 5. nmake  -f  ms\ntdll.mak 命令是报错

用的vs的cmd工具与位与当前不符合换64位或者32位

 

  • 6. nmake  -f  ms\ntdll.mak test 命令时报错

环境变量 paht中加入 包含 openssl.exe的文件夹

体会:环境变量路径真的是很容易弄错,不要直接复制粘贴别人的,一定要确认这个文件路径下存在这个文件,因为不同版本有可能路径不一样。

 

 

这里只是很多坑中的一部分,一些坑真的只是因为大意造成的,一定要按上面网址里的步骤来。最后我花了两天终于弄好了,是挺菜的!

 

 

python manage.py createsuperuser Traceback (most recent call last): File "E:\learn\ttsxzjc\manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line utility.execute() File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\core\management\__init__.py", line 347, in execute django.setup() File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\__init__.py", line 16, in setup from django.urls import set_script_prefix File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\urls\__init__.py", line 1, in <module> from .base import ( File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\urls\base.py", line 8, in <module> from .exceptions import NoReverseMatch, Resolver404 File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\urls\exceptions.py", line 1, in <module> from django.http import Http404 File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\http\__init__.py", line 5, in <module> from django.http.response import ( File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\http\response.py", line 13, in <module> from django.core.serializers.json import DjangoJSONEncoder File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\core\serializers\__init__.py", line 23, in <module> from django.core.serializers.base import SerializerDoesNotExist File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\core\serializers\base.py", line 6, in <module> from django.db import models File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\db\models\__init__.py", line 3, in <module> from django.db.models.aggregates import * # NOQA ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\learn\ttsxzjc\.venv\Lib\site-packages\django\db\models\aggregates.py", line 5, in <module> from django.db.models.expressions import Case, Func, Star, When File "E:\learn\ttsxzjc\.venv\Lib\site-packages\djan
03-25
<think>好的,我现在需要解决用户在Django创建超级用户时出现的traceback错误。根据用户提供的引用信息,我需要先分析可能的原因。 首先,用户提到引用了几个不同的错误解决方案,比如SQLite URI不支持的错误、MySQLdb模块未安装的错误、生成器表达式缺少括号的错误,以及Kombu库中的Redis问题。这些错误可能涉及到不同的组件,所以需要确定用户具体遇到的是哪个错误。 用户的问题是关于创建超级用户时的traceback错误,但并没有提供具体的错误信息。因此,我需要根据常见的Django创建超级用户时的错误来推测可能的原因,并结合提供的引用中的解决方案进行排查。 首先,常见的创建超级用户错误可能包括数据库连接问题。例如,引用[4]提到如果没有安装MySQL-python模块,Django无法连接MySQL数据库,导致错误。如果用户使用的是MySQL数据库,可能需要检查是否安装了mysqlclient,这是Django推荐的MySQL适配器。此外,引用[1]中的SQLite URI错误可能与数据库配置有关,但通常出现在使用特定URI格式时,比如在DATABASES配置中使用'NAME'带有特殊参数,导致Django的SQLite后端不支持。这种情况下需要检查settings.py中的数据库配置是否正确,是否有不必要的参数。 另一个可能的问题涉及第三方库的版本兼容性。例如,引用[3]中提到的Kombu库中的Redis问题,需要修改代码中的zadd方法参数格式。这可能出现在使用Celery等库时,但和创建超级用户的关联可能不大,除非用户在创建用户时使用了异步任务。不过,如果错误堆栈中涉及到Kombu或Redis相关代码,可能需要检查这些库的版本和代码调整。 还有引用[5]中的生成器表达式语法错误,例如在Django的某个文件中多了一个逗号,导致语法错误。这种情况可能出现在用户自定义的代码或第三方库中,需要根据错误提示定位到具体的文件和行号,检查并修正语法错误。 此外,用户提供的引用[2]是关于CentOS部署Django项目的记录,可能涉及环境依赖问题,比如Python版本、虚拟环境配置或其他系统库的缺失。如果用户的环境配置不正确,可能导致各种运行时错误,包括创建超级用户时的失败。 接下来,我需要整理这些可能的解决方案,并按照排查步骤提供给用户。首先建议用户检查具体的错误信息,因为不同的错误需要不同的处理方式。然后根据错误信息中的关键字,比如“MySQLdb模块未到”、“SQLite URI不支持”或“生成器表达式必须加括号”,对应到相应的解决方案。 例如,如果错误信息涉及MySQLdb,那么按照引用[4]的建议,安装mysqlclient包即可。如果是SQLite URI的问题,可能需要检查数据库配置,并按照引用[1]中的方法修改Django的源代码或调整配置。如果是语法错误,如引用[5]中的多余逗号,则需要修改对应的代码行。 此外,用户可能在虚拟环境中缺少必要的依赖包,或者Python版本与Django版本不兼容。建议用户检查虚拟环境是否正确激活,并确保所有依赖包已安装且版本兼容。使用pip list命令查看已安装的包,确认mysqlclient、django等包的版本是否符合要求。 最后,如果错误信息不明确,建议用户提供具体的traceback信息,以便更准确地诊断问题。同时,可以建议用户尝试在干净的虚拟环境中重新安装依赖,或者检查项目的代码库是否有自定义的用户模型或管理器,这些可能在创建超级用户时引发问题。</think>### Django创建超级用户错误解决方案 #### 1. 检查具体错误信息 首先需查看终端输出的完整Traceback信息,确定错误类型。常见错误类型及解决方法如下: --- #### 2. 常见错误类型及修复方法 **2.1 数据库连接问题** - **症状**:错误提示包含`django.db.utils.OperationalError`或`ModuleNotFoundError: No module named 'MySQLdb'` - **原因**:未安装数据库驱动(如MySQL)或配置错误 - **解决方案**: 1. **MySQL数据库**:安装`mysqlclient`包 ```bash pip install mysqlclient ``` 2. **SQLite URI错误**:检查`settings.py`中数据库配置,避免使用`'NAME': 'file:memorydb?mode=memory&cache=shared'`等特殊URI格式[^1] 3. 验证`DATABASES`配置是否包含非法参数,如`'OPTIONS': {'uri': True}` --- **2.2 第三方库兼容性问题** - **症状**:错误涉及`kombu`或`redis`组件 - **原因**:Celery/Kombu库版本与Redis驱动不兼容 - **解决方案**: 1. 文件`site-packages/kombu/transport/redis.py` 2. 修改代码: ```python # 原始错误代码 pipe.zadd(self.unacked_index_key, delivery_tag, time()) # 修改为 pipe.zadd(self.unacked_index_key, {delivery_tag: time()}) [^3] ``` --- **2.3 语法错误** - **症状**:错误提示`SyntaxError: Generator expression must be parenthesized` - **原因**:代码中存在多余逗号或括号缺失 - **解决方案**: 1. 根据Traceback定位到错误文件(如Django中间件或第三方库) 2. 修正类似代码: ```python # 错误示例 '%s=%s' % (k, v) for k, v in params.items(), # 正确写法 '%s=%s' % (k, v) for k, v in params.items() # 去掉末尾逗号[^5] ``` --- **2.4 环境依赖缺失** - **症状**:部署时出现`libpythonXXX.so.1.0`缺失或`gcc`编译错误 - **原因**:系统缺少Python开发依赖 - **解决方案**(CentOS示例): ```bash sudo yum install python3-devel openssl-devel bzip2-devel libffi-devel ``` --- #### 3. 通用排查步骤 1. **创建干净的虚拟环境**: ```bash python -m venv myenv source myenv/bin/activate pip install -r requirements.txt ``` 2. **检查Django版本兼容性**: ```bash pip list | grep Django # 推荐使用Django 3.2 LTS或4.x稳定版 ``` 3. **验证用户模型**: - 检查`models.py`中是否自定义了用户模型但未正确设置`AUTH_USER_MODEL` - 确保`settings.py`中配置: ```python AUTH_USER_MODEL = 'auth.User' # 默认使用内置用户模型 ``` --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sam_ONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值