Reputation: 13
I've been experiencing the "Unable to find vcvarsall.bat" error in Pycharm when installing third-party packages using Easy_install.
Once installed the MinGW, checked that gcc compiler is marked, configured the distutils.cfg, and changed the PATH variable, I find the following problem:
Install packages failed: Error occurred when installing package pysqlite.
The following command was executed:
packaging_tool.py install --build-dir C:\Users\Francisco\AppData\Local\Temp\pycharm- packaging5564903716757323670.tmp pysqlite
The error output of the command:
Downloading/unpacking pysqlite
Running setup.py egg_info for package pysqlite
Installing collected packages: pysqlite
Running setup.py install for pysqlite
building 'pysqlite2._sqlite' extension
c:\mingw\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlite2.dbapi2\" - DSQLITE_OMIT_LOAD_EXTENSION=1 -IC:\Python27\include -IC:\Python27\PC -c src/module.c -o build\temp.win32-2.7\Release\src\module.o
In file included from src/module.c:24:
src/connection.h:33:21: error: sqlite3.h: No such file or directory
In file included from src/module.c:24:
src/connection.h:38: error: expected specifier-qualifier-list before 'sqlite3'
In file included from src/module.c:25:
src/statement.h:37: error: expected specifier-qualifier-list before 'sqlite3'
src/module.c: In function 'module_complete':
src/module.c:103: warning: implicit declaration of function 'sqlite3_complete'
src/module.c: At top level:
src/module.c:269: error: 'SQLITE_OK' undeclared here (not in a function)
src/module.c:270: error: 'SQLITE_DENY' undeclared here (not in a function)
src/module.c:271: error: 'SQLITE_IGNORE' undeclared here (not in a function)
src/module.c:272: error: 'SQLITE_CREATE_INDEX' undeclared here (not in a function)
src/module.c:273: error: 'SQLITE_CREATE_TABLE' undeclared here (not in a function)
src/module.c:274: error: 'SQLITE_CREATE_TEMP_INDEX' undeclared here (not in a function)
src/module.c:275: error: 'SQLITE_CREATE_TEMP_TABLE' undeclared here (not in a function)
src/module.c:276: error: 'SQLITE_CREATE_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:277: error: 'SQLITE_CREATE_TEMP_VIEW' undeclared here (not in a function)
src/module.c:278: error: 'SQLITE_CREATE_TRIGGER' undeclared here (not in a function)
src/module.c:279: error: 'SQLITE_CREATE_VIEW' undeclared here (not in a function)
src/module.c:280: error: 'SQLITE_DELETE' undeclared here (not in a function)
src/module.c:281: error: 'SQLITE_DROP_INDEX' undeclared here (not in a function)
src/module.c:282: error: 'SQLITE_DROP_TABLE' undeclared here (not in a function)
src/module.c:283: error: 'SQLITE_DROP_TEMP_INDEX' undeclared here (not in a function)
src/module.c:284: error: 'SQLITE_DROP_TEMP_TABLE' undeclared here (not in a function)
src/module.c:285: error: 'SQLITE_DROP_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:286: error: 'SQLITE_DROP_TEMP_VIEW' undeclared here (not in a function)
src/module.c:287: error: 'SQLITE_DROP_TRIGGER' undeclared here (not in a function)
src/module.c:288: error: 'SQLITE_DROP_VIEW' undeclared here (not in a function)
src/module.c:289: error: 'SQLITE_INSERT' undeclared here (not in a function)
src/module.c:290: error: 'SQLITE_PRAGMA' undeclared here (not in a function)
src/module.c:291: error: 'SQLITE_READ' undeclared here (not in a function)
src/module.c:292: error: 'SQLITE_SELECT' undeclared here (not in a function)
src/module.c:293: error: 'SQLITE_TRANSACTION' undeclared here (not in a function)
src/module.c:294: error: 'SQLITE_UPDATE' undeclared here (not in a function)
src/module.c:295: error: 'SQLITE_ATTACH' undeclared here (not in a function)
src/module.c:296: error: 'SQLITE_DETACH' undeclared here (not in a function)
src/module.c: In function 'init_sqlite':
src/module.c:426: warning: implicit declaration of function 'sqlite3_libversion'
src/module.c:426: warning: passing argument 1 of 'PyString_FromString' makes pointer from integer without a cast
error: command 'c:\\mingw\\bin\\gcc.exe' failed with exit status 1
Complete output from command C:\Python27\python.exe -c "import setuptools;__file__='C:\\Users\\Francisco\\AppData\\Local\\Temp\\pycharm- packaging5564903716757323670.tmp\\pysqlite\\setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\franci~1\appdata\local\temp\pip-obw3c6-record\install-record.txt --single-version-externally-managed:
running install
running build
running build_py
creating build
creating build\lib.win32-2.7
creating build\lib.win32-2.7\pysqlite2
copying lib\dbapi2.py -> build\lib.win32-2.7\pysqlite2
copying lib\dump.py -> build\lib.win32-2.7\pysqlite2
copying lib\__init__.py -> build\lib.win32-2.7\pysqlite2
creating build\lib.win32-2.7\pysqlite2\test
copying lib\test\dbapi.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\dump.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\factory.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\hooks.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\regression.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\transactions.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\types.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\userfunctions.py -> build\lib.win32-2.7\pysqlite2\test
copying lib\test\__init__.py -> build\lib.win32-2.7\pysqlite2\test
creating build\lib.win32-2.7\pysqlite2\test\py25
copying lib\test\py25\py25tests.py -> build\lib.win32-2.7\pysqlite2\test\py25
copying lib\test\py25\__init__.py -> build\lib.win32-2.7\pysqlite2\test\py25
running build_ext
building 'pysqlite2._sqlite' extension
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
creating build\temp.win32-2.7\Release\src
c:\mingw\bin\gcc.exe -mdll -O -Wall -DMODULE_NAME=\"pysqlite2.dbapi2\" -DSQLITE_OMIT_LOAD_EXTENSION=1 -IC:\Python27\include -IC:\Python27\PC -c src/module.c -o build\temp.win32-2.7\Release\src\module.o
In file included from src/module.c:24:
src/connection.h:33:21: error: sqlite3.h: No such file or directory
In file included from src/module.c:24:
src/connection.h:38: error: expected specifier-qualifier-list before 'sqlite3'
In file included from src/module.c:25:
src/statement.h:37: error: expected specifier-qualifier-list before 'sqlite3'
src/module.c: In function 'module_complete':
src/module.c:103: warning: implicit declaration of function 'sqlite3_complete'
src/module.c: At top level:
src/module.c:269: error: 'SQLITE_OK' undeclared here (not in a function)
src/module.c:270: error: 'SQLITE_DENY' undeclared here (not in a function)
src/module.c:271: error: 'SQLITE_IGNORE' undeclared here (not in a function)
src/module.c:272: error: 'SQLITE_CREATE_INDEX' undeclared here (not in a function)
src/module.c:273: error: 'SQLITE_CREATE_TABLE' undeclared here (not in a function)
src/module.c:274: error: 'SQLITE_CREATE_TEMP_INDEX' undeclared here (not in a function)
src/module.c:275: error: 'SQLITE_CREATE_TEMP_TABLE' undeclared here (not in a function)
src/module.c:276: error: 'SQLITE_CREATE_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:277: error: 'SQLITE_CREATE_TEMP_VIEW' undeclared here (not in a function)
src/module.c:278: error: 'SQLITE_CREATE_TRIGGER' undeclared here (not in a function)
src/module.c:279: error: 'SQLITE_CREATE_VIEW' undeclared here (not in a function)
src/module.c:280: error: 'SQLITE_DELETE' undeclared here (not in a function)
src/module.c:281: error: 'SQLITE_DROP_INDEX' undeclared here (not in a function)
src/module.c:282: error: 'SQLITE_DROP_TABLE' undeclared here (not in a function)
src/module.c:283: error: 'SQLITE_DROP_TEMP_INDEX' undeclared here (not in a function)
src/module.c:284: error: 'SQLITE_DROP_TEMP_TABLE' undeclared here (not in a function)
src/module.c:285: error: 'SQLITE_DROP_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:286: error: 'SQLITE_DROP_TEMP_VIEW' undeclared here (not in a function)
src/module.c:287: error: 'SQLITE_DROP_TRIGGER' undeclared here (not in a function)
src/module.c:288: error: 'SQLITE_DROP_VIEW' undeclared here (not in a function)
src/module.c:289: error: 'SQLITE_INSERT' undeclared here (not in a function)
src/module.c:290: error: 'SQLITE_PRAGMA' undeclared here (not in a function)
src/module.c:291: error: 'SQLITE_READ' undeclared here (not in a function)
src/module.c:292: error: 'SQLITE_SELECT' undeclared here (not in a function)
src/module.c:293: error: 'SQLITE_TRANSACTION' undeclared here (not in a function)
src/module.c:294: error: 'SQLITE_UPDATE' undeclared here (not in a function)
src/module.c:295: error: 'SQLITE_ATTACH' undeclared here (not in a function)
src/module.c:296: error: 'SQLITE_DETACH' undeclared here (not in a function)
src/module.c: In function 'init_sqlite':
src/module.c:426: warning: implicit declaration of function 'sqlite3_libversion'
src/module.c:426: warning: passing argument 1 of 'PyString_FromString' makes pointer from integer without a cast
error: command 'c:\\mingw\\bin\\gcc.exe' failed with exit status 1
I'm working over Windows 8. Maybe the problem is in the *.h files from python. Any idea?
Upvotes: 1
Views: 7383
Reputation: 1930
The key error is this one
src/connection.h:33:21: error: sqlite3.h: No such file or directory
You don't have the sqlite3 header files so it can compile the extension. The MinGW compiler seems to be working ok.
You need to download the source code, build it and make it available to easy_install, and the same with the rest of the dependencies.
However, I wonder why you need to install pysqlite when you already have the sqlite3
module included as part of the standard windows Python distribution. Just enter the interpreter and issue an import sqlite3
command.
Upvotes: 2