脱坑 windwos 安装 pysqlcipher3 方法集合

 1.安装准备及文件处理:https://www.cnblogs.com/yqbaowo/p/18043628  写的非常详细(要非常仔细的看,不要搞错64x和32x),要是按照这位博主的方案能正确编译,就不用看后面的内容了(但我失败了,折磨了我一整天)。

2.遇到问题处理:windwos 安装 pysqlcipher3-CSDN博客  文中列举了如何解决各种报错,我就是按照1中的方法之后遇到了报错,按照这个文中的方法解决的(千万要看评论!)。

第一个报错是 failed with exit code 2  按照2中博主的解决方法可以顺利解决:将pysqlcipher3\src\python3路径下(如下图),所有.c结尾的文件都打开检查一下,将所有包含MODULE_NAME 均替换成 "pysqlcipher3.dbapi2",千万注意!需要加上字符串引号(感谢评论区的好心人) 。

第二个报错是在解决第一个报错后出现的,不过也是2中文中提到的报错 - LNK1181: 无法打开输入文件“libeay32.lib”。但按照文中的2个方法我都没解决成功。打开了查看了pysqlcipher3下的setup.py文件,应该是读取路径问题,直接修改就可以了(直接打开setup.py文件,将这部分代码替换掉):

        if sys.platform == "win32":

            # Try to locate openssl

            openssl_conf = os.environ.get('OPENSSL_CONF')

            if not openssl_conf:

                error_message = 'Fatal error: OpenSSL could not be detected!'

                raise RuntimeError(error_message)

            openssl = os.path.dirname(os.path.dirname(openssl_conf))

            openssl_lib_path = "C:\\Program Files\\OpenSSL-Win64\\lib"  # 64位OpenSSL库的正确路径

            # Configure the compiler

            ext.include_dirs.append(os.path.join(openssl, "include"))

            ext.define_macros.append(("inline", "__inline"))

            # Here is where you should set the libpath

            libpath = os.path.join(openssl_lib_path, "libcrypto.lib")

            # Configure the linker

            ext.extra_link_args.append(libpath)

            # ext.extra_link_args.append("libeay32.lib")

            # ext.extra_link_args.append('/LIBPATH:' + openssl_lib_path)

        else:

            ext.extra_link_args.append("-lcrypto")

        build_ext.build_extension(self, ext)

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值