使用Python 3.6安装Python软件包scrypt

8 浏览
0 Comments

使用Python 3.6安装Python软件包scrypt

我一直在尝试在我的Windows 64位笔记本上安装Python包scrypt,因为我想要使用的另一个包需要它。这个包还需要Python 3.6,所以在我的电脑上既有Python 2.7又有3.6,并且使用pippip3来区分两者。当运行pip install scrypt时,一切都正常安装,但是当运行pip3 install scrypt时,我收到以下错误:\n

scrypt-1.2.0/lib/crypto\crypto_scrypt.h(33): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory

\n我尝试通过克隆存储库来解决这个问题,步骤如下:\n

$ hg clone http://bitbucket.org/mhallin/py-scrypt
$ cd py-scrypt
$ PATHTOPYTHON3 setup.py build

\n然后出现以下错误:\n

scrypt-1.2.0/libcperciva/crypto/crypto_aes.c(6): fatal error C1083: Cannot open include file: 'openssl/aes.h': No such file or directory

\n然后我通过更改setup.py中的以下代码来解决这个错误:\n

elif sys.platform.startswith('win32'):
    define_macros = [('inline', '__inline')]
    libraries = ['libeay32', 'advapi32']
    extra_sources = ['scrypt-windows-stubs/gettimeofday.c']
    if struct.calcsize('P') == 8:
        library_dirs = ['c:\OpenSSL-Win64\lib']
        includes = ['c:\OpenSSL-Win64\include', 'scrypt-windows stubs/include']
    else:
        library_dirs = ['c:\OpenSSL-Win32\lib']
        includes = ['c:\OpenSSL-Win32\include', 'scrypt-windows-stubs/include']

\n将库设置为64位版本:\n

library_dirs = ['c:\OpenSSL-Win64\lib']
includes = ['c:\OpenSSL-Win64\include', 'scrypt-windows

\n但是这又报错了:\n

LINK : fatal error LNK1181: cannot open input file 'libeay32.lib'

\n在这之后,我放弃了并来这里问该怎么办。我如何在Windows上使用Python 3.6使scrypt正常工作?

0
0 Comments

问题:在使用Python 3.6安装Python包scrypt时出现的原因以及解决方法

原因:根据这里的说明:https://stackoverflow.com/a/39270114/150851,需要安装OpenSSL-Win64 1.0.2n版本(而不是轻量版)才能成功安装scrypt。

解决方法:按照以下步骤进行操作:

1. 从http://slproweb.com/products/Win32OpenSSL.html下载并安装OpenSSL-Win64 1.0.2n版本。

2. 运行以下命令:python setup.py install

3. 安装完成后应该可以正常使用scrypt包。

0
0 Comments

根据仓库信息,scrypt软件包只能在Windows上的Python 3.5及以下版本中以预编译形式使用。我猜在Python 2.7上它能正常工作是因为它不需要从头开始编译二进制部分,但在Python 3.6上,它必须这样做,而你没有安装它所需的部分。这种错误令人沮丧,但除非软件包维护者愿意为3.6提供预构建的软件包,否则你将不得不自己构建它。

解决方法:

1. 首先,确保你已经安装了Python 3.6版本。

2. 确认你已经安装了C编译器。对于Windows用户,可以使用Microsoft Visual C++ Build Tools来安装。

3. 打开命令提示符或终端,使用以下命令安装scrypt软件包的依赖项:

pip install setuptools-golang

4. 下载scrypt的源代码,可以从GitHub仓库中获取。

5. 解压源代码文件,然后进入解压后的文件夹。

6. 使用以下命令构建和安装scrypt软件包:

python setup.py build

python setup.py install

7. 等待安装完成后,你就可以在Python 3.6上使用scrypt软件包了。

希望这些步骤能够帮助你在Python 3.6上成功安装scrypt软件包。如果你遇到任何问题,请参考scrypt软件包的文档或联系软件包维护者寻求帮助。

0