我最近在Windows7上安装了Python2.7。在我的测试过程中,我还为python、MinGW、Visual C++ for Python和OpenSSL安装了setuptools和pip。在我的%PATH %中都有条目,并且我有环境变量VS90CuMoToots和VS100CuNoToots指向“C:\Usvs\UrrEs\AppDAT\\Studio \程序\通用\微软\ Visual C++,用于Python \\\\VC\bin”。在
我试过几种不同的安装方法。我将在下面概述每一个。(所有这些都是从提升的命令提示符下运行的。)
下载源代码并编译。在
Python设置.py安装
这将产生以下输出:
running install
running build
running build_py
running build_ext
building 'pysqlcipher._sqlite' extension
error: Unable to find vcvarsall.bat
因为在安装了VS for Python之后,我还是遇到了同样的错误,所以我决定尝试:
^{pr2}$输出:
running install
running build
running build_py
running build_ext
building 'pysqlcipher._sqlite' extension
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/module.c -o build\temp.win32-2.7\Release\src\module.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/connection.c -o build\temp.win32-2.7\Release\src\connection.o
src/connection.c: In function '_pysqlite_final_callback':
src/connection.c:787:15: warning: variable 'aggregate_class' set but not used [-Wunused-but-set-variable]
PyObject* aggregate_class;
^
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/cursor.c -o build\temp.win32-2.7\Release\src\cursor.o
src/cursor.c: In function 'pysqlite_cursor_dealloc':
src/cursor.c:129:9: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
int rc;
^
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/cache.c -o build\temp.win32-2.7\Release\src\cache.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/microprotocols.c -o build\temp.win32-2.7\Release\src\microprotocols.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/prepare_protocol.c -o build\temp.win32-2.7\Release\src\prepare_protocol.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/statement.c -o build\temp.win32-2.7\Release\src\statement.o
src/statement.c: In function 'pysqlite_statement_dealloc':
src/statement.c:408:9: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
int rc;
^
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/util.c -o build\temp.win32-2.7\Release\src\util.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c src/row.c -o build\temp.win32-2.7\Release\src\row.o
D:\Developer\MinGW\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlcipher.dbapi2\" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABL
E_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -Iamalgamation -ID:\Developer\Pyth
on27\include -ID:\Developer\Python27\PC -c amalgamation\sqlite3.c -o build\temp.win32-2.7\Release\amalgamation\sqlite3.o
amalgamation\sqlite3.c:13654:26: fatal error: openssl/rand.h: No such file or directory
#include <openssl/rand.h>
^
compilation terminated.
error: command 'D:\\Developer\\MinGW\\bin\\gcc.exe' failed with exit status 1
我安装了OpenSSL并再试了一次。还是一样的输出。我还安装了pyopenssl。还是同样的错误。
我试着用简单的方法:
轻松安装pysqlcipher
pip安装pysqlcipher
它们还抱怨找不到“openssl/rand.h”
有没有人知道如何解决这个问题,这样我就可以编译这个Windows软件包了? 谢谢!在
这是我所面临的最常见的问题。但我用pytools for Visual Studio 2012来解决这个问题。安装pytools后,新项目类别将添加到新项目
选择您的python项目。从projectsolutionexplorer中添加python环境,右键单击它并选择“Add/removepythonenvironment…”。将出现一个带有复选框选项的窗口,选择您当前的python版本(安装在您的系统中)。在
将添加一个环境,如下所示(这里是python2.7)。再次右键单击它并选择“installpython Package”选项。
一个窗口是上升与pip和容易安装选项。现在只需键入您的包名,例如pyopenssl。选中“以管理员身份运行”。单击“确定”按钮
控制台输出决定您的软件包是否安装完好。在
我希望这对你有帮助。在
方法1
安装Microsoft Visual C++ Compiler for Python 2.7
更新pip
更新设置工具
^{pr2}$使用pip安装pysqlcipher
^ {CD1>}应该能够找到VisualC++编译器的安装,并编译所需的扩展。在
如果由于某种原因你不能使用pip,那么试试下面的方法2。在
方法2
查看您的}。在
setup.py
如果它是一个旧包,它可能正在导入distutils.core.setup()
,而不是{在2015年,我遇到了这些因素:
< > > Python 2.7的微软Visual C++编译器,从^ {A2}
使用
distutils.core.setup()
尝试做
python setup.py build
,而不是使用pip
。如果使用最新版本的pip,它将强制(monkeypatch)包使用setuptools,即使它的
setup.py
调用distutils。但是,如果您不使用pip,而只是执行python setup.py build
,那么构建过程将使用distutils.core.setup()
,它不知道编译器的安装位置。在步骤1:安装Microsoft Visual C++ Compiler for Python 2.7
<强>步骤2:打开相应的Visual C++ 2008命令提示
<打开开始菜单或启动屏幕,搜索“Visual C++ 2008 32位命令提示符”(如果你的Python是32位)或“Visual C++ 2008位64位命令提示符”(如果你的Python是64位)。跑吧。命令提示应该说Visual C++ 2008…在标题栏中。在第3步:设置环境变量
在刚刚打开的命令提示符中设置这些环境变量。在
参考http://bugs.python.org/issue23246
第4步:构建和安装
cd
到要生成的包,然后运行python setup.py build
,然后python setup.py install
。如果要安装到virtualenv中,请在生成之前激活它。在相关问题 更多 >
编程相关推荐