New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
AminMkh opened this issue
Sep 26, 2018
· 15 comments
Comments
Unable to install on Windows 10, I tried
Issue description:
Whenever I run: pip install python-ldap
I get the following:
c:usersuserappdatalocaltemppip-install-652a07b0python-ldapmodulesconstants.h(7): fatal error C1083: Cannot open include file: ‘lber.h’: No such file or directory
error: command ‘C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.15.26726binHostX86x86cl.exe’ failed with exit status 2----------------------------------------
Command «»c:program files (x86)python36-32python.exe» -u -c «import setuptools, tokenize;file=’C:UsersuserAppDataLocalTemppip-install-652a07b0python-ldapsetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» install —record C:UsersuserAppDataLocalTemppip-record-09ceypm_install-record.txt —single-version-externally-managed —compile» failed with error code 1 in C:UsersuserAppDataLocalTemppip-install-652a07b0python-ldap
- I tried installing http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyldap:
pip install pyldap-3.0.0-py2.py3-none-any.whl
and got:
pyldap-3.0.0-py2.py3-none-any.whl is not a supported wheel on this platform.
- Also looked into requirements: https://www.python-ldap.org/en/latest/installing.html#build-prerequisites
I downloaded the OpenLDAP client libs but didn’t know where to place it’s folder ?
Steps to reproduce:
pip install python-ldap
Operating system: Windows 10, version 1803, OS Build 171134.285
Python version: Python 3.6.5
python-ldap version: None
Any ideas how to proceed ?
If you’re using Christoph Gohlke’s packages, you want to get python-ldap, not pyldap.
I’m not familiar with installing python-ldap from source on Windows.
yes I am trying either of them, same issue.
None of the python-ldap maintainers is a Windows developer. We all work on Linux or similar platforms and are unable to assist.
By the way, a python-ldap build with just OpenLDAP bindings is pretty much useless these days. You also need OpenSSL and libsasl. SASL also depends on Kerberos bindings. Good luck…
If you figure it out, please let us know so we can add some instructions to documentation.
thanks guys, will keep that in mind, however, if you are aware of any other packages to connect to Active Directory using Python 3 on Windows, please let me know.
I’ve heard of ldap3, but never used it.
yes thanks @encukou , I tried it and it’s working well, thank you.
This issue is among the top results on Google for the ‘lber.h’ error. I felt I should mention that despite python-ldap maintainers not using Windows, the package has a non-trivial amount of people using it on Windows, judging from the stackoverflow activity.
While I didn’t find up-to-date build instructions easily, there are prebuilt whl files that worked for me:
https://stackoverflow.com/a/58235938/1026
9527q and xtcprzemek reacted with heart emoji
We’d also welcome anyone interested in being a Windows maintainer, or just anyone who could write up better Windows build instructions for the documentation.
This issue is among the top results on Google for the ‘lber.h’ error. I felt I should mention that despite python-ldap maintainers not using Windows, the package has a non-trivial amount of people using it on Windows, judging from the stackoverflow activity.
While I didn’t find up-to-date build instructions easily, there are prebuilt whl files that worked for me:
https://stackoverflow.com/a/58235938/1026
Thanks, this also worked for me.
Using PyCharm, I must note that this thread was also useful in upgrading pip.
I had all the same issues when trying to install windapsearch on Windows 10. Turns out that the Windows version of Python3 was 32 bit and the python-ldap module needed 64 bit. To find the architecture, I ran (using python3)
import struct
print(struct.calcsize("P") * 8)
I then installed the 32 bit version of python-ldap from https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
These are pre-compiled wheel files, which are installed as:
pip install pathtoyour.whl
You may need to use path-to-pip
for the python3 version of pip.
Today i had the same issue running pip install python-ldap
fatal error C1083: Cannot open include file: 'lber.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\cl.exe' failed with exit status 2
In my case, I was installing python-ldap because i needed django-auth-ldap, that requires python-ldap.
The workaround was to use django-python3-ldap instead of django-auth-ldap.
This issue is among the top results on Google for the ‘lber.h’ error. I felt I should mention that despite python-ldap maintainers not using Windows, the package has a non-trivial amount of people using it on Windows, judging from the stackoverflow activity.
While I didn’t find up-to-date build instructions easily, there are prebuilt whl files that worked for me: https://stackoverflow.com/a/58235938/1026
this answer inspired me to fix the python-ldap installation failure on windows 11.
I was trying to install django-auth-ldap, but the installation errors suggested it was due to python-ldap could not be installed…
python-ldap whl can be found here https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap
but, be noted that the key is to pick the right version of python-ldap package. By ‘right’, I mean, it has to go with your current python version.
Download that package, and run pip install .whl
then, installing django-auth-ldap went smoothly…
booyah! it worked for me anyway. hope it helps
- Causes of
'Python.h': No such file or directory
Error in C++ - Python Installation That Allows Embedding Its Code in C++
- Steps to Add Python Path to IDE’s
Include
and Linker - Add Python Path to
Include
and Linker - Write Python Codes in C++ and Compile Them
- Conclusion
This article will explain how to solve the error 'Python.h': No such file or directory
. This usually happens when we try to embed Python code in C++, but the compiler cannot find a reference to Python inside the system.
Causes of 'Python.h': No such file or directory
Error in C++
Below is a C++ program that uses Python codes.
#include <stdio.h>
#include <conio.h>
#include <Python.h>
int main()
{
PyObject* pInt;
Py_Initialize();
PyRun_SimpleString("print('Hello World from Embedded Python!!!')");
Py_Finalize();
printf("nPress any key to exit...n");
if (!_getch()) _getch();
return 0;
}
When this program is compiled, it gives the error 'Python.h': No such file or directory
.
Build started...
1>------ Build started: Project: Python into Cpp, Configuration: Debug x64 ------
1>1.cpp
1>C:UsersWin 10sourcereposPython into Cpp1.cpp(3,10): fatal error C1083: Cannot open include file: 'Python.h': No such file or directory
1>Done building project "Python into Cpp.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Various reasons cause the 'Python.h': No such file or directory
issue.
-
Python is not installed inside the system.
Python is third-party enterprise software that does not come with standard Windows and C++ compilers installation. It must be installed with correct settings and linked to the C++ compiler.
-
C++ compiler cannot find Python.
If the compiler is run through an IDE or mingw4, it can only detect that standard C++ includes packages that come with a standard installation.
Third-party libraries are needed to be added to the IDE
include
and linker files.Three steps need to be executed to solve the above issues.
- Custom installing Python that allows it to be embedded in IDEs.
- Adding Python path to IDE
include
and linker paths. - Writing Python codes inside C++ codes and compiling them.
Python Installation That Allows Embedding Its Code in C++
If there is no Python inside the system, or if it is installed and linked but still the error 'Python.h': No such file or directory
occurs, it’s because the Python installation did not download the debug binaries with it.
It is recommended that Python be uninstalled and then reinstalled correctly to solve the error 'Python.h': No such file or directory
.
Head to the Python website and download the latest Python version. If a certain version is required, head to the All Releases
download section.
This article demonstrates the steps in Windows OS, so the suitable option is to go with the Windows installer(64bit or 32bit)
. It is recommended to use the 64-bit version if a modern PC is used.
After the download is complete, run the installer, and choose Customize Installation
. The Install now
option will install Python with default settings but leave the debug binaries out that allows embedding it into IDEs.
Tick the box that asks to Add Python X.X(version) to PATH
and then click on Customize Installation
.
On the next page, mark all the boxes and then click next.
In the third menu, tick the box Download debug binaries
and click on Install
. Python will be installed inside the selected directory.
Steps to Add Python Path to IDE’s Include
and Linker
Any third-party library that does not come with C++ in its standard installation must be referenced to the IDE. IDEs cannot automatically search and detect third-party libraries inside the system.
This is the reason that causes the error 'Python.h': No such file or directory
.
Though IDE can search for files when the package library is stored in the same directory where the C++ script is located, its path should be mentioned inside the program’s #include<>
header.
But storing dependencies this way is a bad practice.
What needs to be done is that the path of the library should be linked to the IDE so that it can be included the way standard header files are included, removing the need to provide a file path with the source code.
Any third-party library that does not come with C++ in its standard installation must be referenced to the IDE. IDEs cannot automatically search and detect third-party libraries inside the system.
This is the reason that causes the error 'Python.h': No such file or directory
.
At first, an IDE is needed. It is recommended to go with Visual Studio (2017 or later), and this article will cover the same.
Any other IDE can also be used, the steps are identical in most of them, but Visual Studio makes it simple.
Install Visual Studio in the System
The installer of Visual Studio can be downloaded from here. After downloading the 64-bit Community version, install the software, including the C++ development option.
After installation is completed, create a new project.
The window can look intimidating for readers who have never used Visual Studio before, but there’s no need to worry. Most of the features that will be needed are in front, and this article will guide the rest.
Create a project, and give it a name like ‘Python in cpp’. After the project is created, the main window would look something like this:
If there is just a black screen, press Ctrl+Alt+l, and the solution explorer will open. The solution explorer shows all the files and dependencies available for the project.
Add Python Path to Include
and Linker
In this step, the Python path will be included and linked to Visual Studio so that the IDE knows where to look when #include <python.h>
is written.
A prerequisite for this step is to know the directory where Python is installed and keep it open in another window. Now head down to Debug
> Project Name
> Properties
(Instead of Project name
, it will display the project’s name).
Inside the project properties window, go to C/C++
> General
> Additional Include Directories
, click on the tiny drop button on the extreme right, and then click on <Edit...>
.
The Additional Include Directories
dialog box will open. Here, double-click on the first blank space and paste the path of the include
folder from the directory where Python is installed inside the system, then click OK
.
After the path of include
directory is added, head down to Linker
> General
> Additional Library Directories
. Like the previous step, click on <Edit...>
.
Now, the libs
folder should be added to the linker. This folder is also found inside the Python directory, where the include
folder is located.
After it is added, click on OK
and then click on Apply
.
Write Python Codes in C++ and Compile Them
Once the include
and linker paths are added, a sample program must be compiled to check whether the above steps have been executed correctly, and the 'Python.h': No such file or directory
error is not encountered again.
Go to the solution explorer and right-click on source files. Click on add
> new item
, give the file a name and click add.
This new file will contain the code that will be compiled.
Below is the C++ program used at the start of the article that threw errors.
#include <stdio.h>
#include <conio.h>
#include <Python.h>
int main()
{
PyObject* pInt;
Py_Initialize();
PyRun_SimpleString("print('Hello World from Embedded Python!!!')");
Py_Finalize();
printf("nPress any key to exit...n");
if (!_getch()) _getch();
return 0;
}
Now, when the file is compiled by clicking on the green play button on the top, we get the output:
Hello World from Embedded Python!!!
Press any key to exit...
Conclusion
This article explains the steps to solve the error 'Python.h': No such file or directory
. After reading this article, the reader can install Python and Visual Studio and link them to the Python library.
Содержание
- Cannot open include file io.h #462
- Comments
- pip install fails on Windows 10 #120
- Comments
- Failed to install on Windows 10 (x64) using pip install #4
- Comments
- Неустранимая ошибка C1083
- Указано неверное имя файла
- Файл не включен в путь поиска включения
- Проблемы со сторонними библиотеками и vcpkg
- Файл находится в проекте, но не включает путь поиска
- Среда INCLUDE или LIB командной строки не задана
- Файл может быть заблокирован или использоваться
- Включена неправильная версия имени файла
- Предкомпилированные заголовки еще не скомпилированы
- Дополнительные причины
- Пример
Cannot open include file io.h #462
I’ve been getting other errors before, and they told me to install Visual Studio 14 C++ tools, and I did.
Then I also installed Win10SDK and Python for Visual Studio as well, but nothing worked.
Mentioning this because I see mentions of VS in the error message
I am trying the Direct install method from Git, on Windows 10. I am not certain if I have installed the cairo library as well.
Thanks in advance.
Collecting pycairo==1.17.1 (from -r requirements.txt (line 9))
Using cached https://files.pythonhosted.org/packages/68/76/340ff847897296b2c8174dfa5a5ec3406e3ed783a2abac918cf326abad86/pycairo-1.17.1.tar.gz
Collecting pydub==0.23.0 (from -r requirements.txt (line 10))
Using cached https://files.pythonhosted.org/packages/2f/73/bb9c093882d647437a9e6e87c7e6592d2df852f83ffac6f348b878979be0/pydub-0.23.0-py2.py3-none-any.whl
Installing collected packages: pycairo, pydub
Running setup.py install for pycairo: started
Running setup.py install for pycairo: finished with status ‘error’
Complete output from command C:UsersEntropyAppDataLocalProgramsPythonPython37python3.exe -u -c «import setuptools, tokenize;file=’C:UsersEntropyAppDataLocalTemppip-install-vsjln7hxpycairosetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» install —record C:UsersEntropyAppDataLocalTemppip-record-l6ol5dezinstall-record.txt —single-version-externally-managed —compile:
running install
running build
running build_py
creating build
creating buildlib.win-amd64-3.7
creating buildlib.win-amd64-3.7cairo
copying cairo_init_.py -> buildlib.win-amd64-3.7cairo
copying cairo_init_.pyi -> buildlib.win-amd64-3.7cairo
copying cairopy.typed -> buildlib.win-amd64-3.7cairo
running build_ext
building ‘cairo._cairo’ extension
creating buildtemp.win-amd64-3.7
creating buildtemp.win-amd64-3.7Release
creating buildtemp.win-amd64-3.7Releasecairo
C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.16.27023binHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION_MINOR=17 -DPYCAIRO_VERSION_MICRO=1 -IC:UsersEntropyAppDataLocalProgramsPythonPython37include -IC:UsersEntropyAppDataLocalProgramsPythonPython37include «-IC:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.16.27023include» /Tccairo/device.c /Fobuildtemp.win-amd64-3.7Releasecairo/device.obj
device.c
c:usersentropyappdatalocalprogramspythonpython37includepyconfig.h(59): fatal error C1083: Cannot open include file: ‘io.h’: No such file or directory
error: command ‘C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.16.27023binHostX86x64cl.exe’ failed with exit status 2
—————————————-
Command «C:UsersEntropyAppDataLocalProgramsPythonPython37python3.exe -u -c «import setuptools, tokenize;file=’C:UsersEntropyAppDataLocalTemppip-install-vsjln7hxpycairosetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» install —record C:UsersEntropyAppDataLocalTemppip-record-l6ol5dezinstall-record.txt —single-version-externally-managed —compile» failed with error code 1 in C:UsersEntropyAppDataLocalTemppip-install-vsjln7hxpycairo
The text was updated successfully, but these errors were encountered:
I’m getting a similar error but this time it mentions how the cairo.h file is missing. It seems that I haven’t installed it correctly, what should I do?
Источник
pip install fails on Windows 10 #120
Well after using it in Windows 7 I have to up-grade to Windows 10 and cannot get past the pip in stall
The text was updated successfully, but these errors were encountered:
I do not have access to Windows 10 at the moment, but the error seems to be between Python’s header files and the Windows header files, so before trying to compile a complex program like PyEphem you might try compiling a simple «Hello world» program that imports pyconfig.h and see if you can get that working before trying PyEphem again?
A Google search for «pyconfig.h» «io.h» turns up several Stack Overflow questions that you might also dive into. If you are able to track down the problem to PyEphem itself, do provide more details; or if you find it’s a problem with all C compilation of Python on your system, then let us know here if you find a fix in case anyone else runs into the problem. Thanks!
Well other windows 10 same issue.
Successfully run pip install ephem and pip install pyephem
pip list shows both.
import ephem give erroe no such module
print(sys.path)
[», ‘C:UserssebasAppDataLocalProgramsPythonPython35-32Libidlelib’, ‘C:UserssebasAppDataLocalProgramsPythonPython35-32python35.zip’, ‘C:UserssebasAppDataLocalProgramsPythonPython35-32DLLs’, ‘C:UserssebasAppDataLocalProgramsPythonPython35-32lib’, ‘C:UserssebasAppDataLocalProgramsPythonPython35-32’, ‘C:UserssebasAppDataLocalProgramsPythonPython35-32libsite-packages’]
.
Why are there «» I wonder.
The backslashes are there because that’s how Windows delimits directories.
So you successfully ran pip install, but Python cannot find the resulting module? I wonder whether your pip command and python command are both the exact same Python install or not? Can you ask the operating system what command in what folder is getting run when you type pip and then when you type python ? Sometimes I have had the problem that pip is writing packages into one version of Python on my hard drive, while python is invoking the interpreter of an entirely different copy of Python somewhere else on my hard drive.
Thanks for the update, I am glad you got it working. And thanks for the description of your project, it is always fun to hear what users are using PyEphem for!
Источник
Failed to install on Windows 10 (x64) using pip install #4
pip install lws
Collecting lws
Downloading lws-1.2.tar.gz (133kB)
100% |████████████████████████████████| 143kB 778kB/s
Building wheels for collected packages: lws
Running setup.py bdist_wheel for lws . error
Complete output from command C:Anaconda3envsptpython.exe -u -c «import setuptools, tokenize;file=’C:Usersdata2AppDataLocalTemppip-build-hpsw5y8hlwssetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» bdist_wheel -d C:Usersdata2AppDataLocalTemptmpmy25klczpip-wheel- —python-tag cp36:
running bdist_wheel
running build
running build_ext
building ‘lws’ extension
creating build
creating buildtemp.win-amd64-3.6
creating buildtemp.win-amd64-3.6Release
creating buildtemp.win-amd64-3.6Releaselwslib
C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827binHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ilwslib/ -IC:Anaconda3envsptlibsite-packagesnumpycoreinclude -IC:Anaconda3envsptinclude -IC:Anaconda3envsptinclude «-IC:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827include» /EHsc /Tplws.bycython.cpp /Fobuildtemp.win-amd64-3.6Releaselws.bycython.obj -O3
cl : Command line warning D9002 : ignoring unknown option ‘-O3’
lws.bycython.cpp
c:anaconda3envsptincludepyconfig.h(59): fatal error C1083: Cannot open include file: ‘io.h’: No such file or directory
error: command ‘C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827binHostX86x64cl.exe’ failed with exit status 2
Failed building wheel for lws
Running setup.py clean for lws
Failed to build lws
Installing collected packages: lws
Running setup.py install for lws . error
Complete output from command C:Anaconda3envsptpython.exe -u -c «import setuptools, tokenize;file=’C:Usersdata2AppDataLocalTemppip-build-hpsw5y8hlwssetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» install —record C:Usersdata2AppDataLocalTemppip-sb1ltnj5-recordinstall-record.txt —single-version-externally-managed —compile:
running install
running build
running build_ext
building ‘lws’ extension
creating build
creating buildtemp.win-amd64-3.6
creating buildtemp.win-amd64-3.6Release
creating buildtemp.win-amd64-3.6Releaselwslib
C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827binHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ilwslib/ -IC:Anaconda3envsptlibsite-packagesnumpycoreinclude -IC:Anaconda3envsptinclude -IC:Anaconda3envsptinclude «-IC:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827include» /EHsc /Tplws.bycython.cpp /Fobuildtemp.win-amd64-3.6Releaselws.bycython.obj -O3
cl : Command line warning D9002 : ignoring unknown option ‘-O3’
lws.bycython.cpp
c:anaconda3envsptincludepyconfig.h(59): fatal error C1083: Cannot open include file: ‘io.h’: No such file or directory
error: command ‘C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.12.25827binHostX86x64cl.exe’ failed with exit status 2
Command «C:Anaconda3envsptpython.exe -u -c «import setuptools, tokenize;file=’C:Usersdata2AppDataLocalTemppip-build-hpsw5y8hlwssetup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘rn’, ‘n’);f.close();exec(compile(code, file, ‘exec’))» install —record C:Usersdata2AppDataLocalTemppip-sb1ltnj5-recordinstall-record.txt —single-version-externally-managed —compile» failed with error code 1 in C:Usersdata2AppDataLocalTemppip-build-hpsw5y8hlws
The text was updated successfully, but these errors were encountered:
Источник
Неустранимая ошибка C1083
Компилятор создает ошибку C1083, если не удается найти необходимый файл. Эта ошибка имеет несколько возможных причин. Неправильный путь поиска или отсутствующие или неправильно именуемые файлы заголовков являются наиболее распространенными причинами, но другие типы файлов и проблемы также могут вызвать C1083. Ниже приведены некоторые распространенные причины, по которым компилятор создает эту ошибку.
Указано неверное имя файла
При вводе имени файла допущена ошибка. Например, примененная к объекту директива
может не найти файл, который вы хотели. Большинство файлов заголовков стандартной библиотеки C++ не имеют расширения H-файла. Заголовок не найден этой #include директивой. Чтобы устранить эту проблему, убедитесь, что введено правильное имя файла, как в следующем примере:
Некоторые заголовки библиотеки времени выполнения C расположены в подкаталоге стандартного каталога включения. Например, чтобы включить sys/types.h , необходимо включить sys имя подкаталога в директиву #include :
Файл не включен в путь поиска включения
Компилятору не удается найти файл, используя правила поиска, которые указаны в директиве #include или #import . Например, если имя файла заголовка заключено в кавычки,
это указывает компилятору сначала искать файл в том же каталоге, который содержит исходный файл, а затем искать в других расположениях, указанных средой сборки. Если кавычки содержат абсолютный путь, компилятор выполняет поиск файла только в этом расположении. Если кавычки содержат относительный путь, компилятор выполняет поиск файла в каталоге относительно исходного каталога.
Если имя заключено в угловые скобки,
компилятор следует пути поиска, определяемого средой сборки, /I параметром компилятора, /X параметром компилятора и переменной среды INCLUDE . Дополнительные сведения, включая конкретные сведения о порядке поиска, используемом для поиска файла, см. в директиве #include (C/C++) и директиве #import.
Если файлы включения находятся в другом каталоге относительно исходного каталога и используете относительный путь в директивах include, следует использовать двойные кавычки вместо угловых скобок. Например, если файл myheader.h заголовка находится в подкаталоге источников проекта с именами заголовков, в этом примере не удается найти файл и вызвать C1083:
но этот пример работает:
Относительные пути также можно использовать с каталогами в пути поиска включения. Если вы добавляете каталог в переменную среды INCLUDE или в путь include directories в Visual Studio, не добавляйте часть пути к директивам include. Например, если заголовок находится по адресу pathexampleheadersmyheader.h и добавляется pathexampleheaders в путь включения каталогов в Visual Studio, но директива #include ссылается на файл как
затем файл не найден. Используйте правильный путь относительно каталога, указанного в пути поиска include. В этом примере можно изменить путь pathexample поиска включения или удалить headers сегмент пути из директивы #include .
Проблемы со сторонними библиотеками и vcpkg
Если эта ошибка возникает при попытке настроить стороннюю библиотеку в рамках сборки, рассмотрите возможность использования vcpkg, диспетчера пакетов C++ для установки и сборки библиотеки. vcpkg поддерживает большой и растущий список сторонних библиотек и задает все свойства и зависимости конфигурации, необходимые для успешных сборок в рамках проекта.
Файл находится в проекте, но не включает путь поиска
Даже если файлы заголовков перечислены в Обозреватель решений как часть проекта, файлы обнаруживаются компилятором только в том случае, если они ссылаются #include на исходный файл или #import директиву и находятся в пути поиска включаемых файлов. Для различных типов построений могут использоваться разные пути поиска. Параметр /X компилятора можно использовать для исключения каталогов из пути поиска включения. Это позволяет использовать для разных построений разные файлы include, которые имеют одно имя, но расположены в разных каталогах. Таким образом создается альтернатива условной компиляции с помощью команд препроцессора. Дополнительные сведения о параметре /X компилятора см. в разделе /X (Пропуск стандартных путей включения).
Чтобы устранить эту проблему, исправьте путь, используемый компилятором для поиска включаемого или импортируемого файла. Новый проект использует пути поиска по умолчанию. Возможно, потребуется изменить путь поиска включения, чтобы добавить каталог для проекта. При компиляции в командной строке добавьте путь к переменной среды INCLUDE или /I параметр компилятора, чтобы указать путь к файлу.
Чтобы задать путь к каталогу include в Visual Studio, откройте диалоговое окно страниц свойств проекта. Выберите каталоги VC++ в разделе «Свойства конфигурации » в левой области, а затем измените свойство Include Directoryies . Дополнительные сведения о каталогах для отдельных пользователей и проектов, искомых компилятором в Visual Studio, см. на странице свойств каталогов VC++. Дополнительные сведения о параметре /I компилятора см. в разделе /I (Дополнительные каталоги включения).
Среда INCLUDE или LIB командной строки не задана
Если компилятор вызывается из командной строки, для указания путей поиска часто используются переменные среды. Если путь поиска, описанный переменной среды INCLUDE или LIB , неправильно задан, может возникнуть ошибка C1083. Настоятельно рекомендуется использовать ярлык командной строки разработчика, чтобы задать базовую среду для сборок командной строки. Дополнительные сведения см. в разделе «Сборка C/C++ в командной строке». Дополнительные сведения об использовании переменных среды см. в разделе «Практическое руководство. Использование переменных среды в сборке».
Файл может быть заблокирован или использоваться
Если вы используете другую программу для редактирования или доступа к файлу, возможно, файл заблокирован. Попробуйте закрыть файл в другой программе. Иногда другая программа может быть самой Visual Studio, если вы используете параметры параллельной компиляции. Если параметр параллельной сборки отключает ошибку, это проблема. Эта проблема также может быть связана с другими параллельными системами сборки. Будьте внимательны, чтобы задать зависимости файлов и проектов, чтобы порядок сборки был правильным. В некоторых случаях рассмотрите возможность создания промежуточного проекта для принудительного порядка сборки зависимостей для общего файла, который может быть создан несколькими проектами. Иногда антивирусные программы временно блокируют недавно измененные файлы для сканирования. По возможности рекомендуется исключить каталоги сборки проекта из антивирусного сканера.
Включена неправильная версия имени файла
Ошибка C1083 также может указывать на включение неверной версии файла. Например, построение может включать неверную версию файла, содержащего директиву #include для файла заголовка, который не предназначен для данного построения. Например, некоторые файлы могут применяться только к сборкам x86 или к отладочным сборкам. Если файл заголовка не найден, компилятор выдает ошибку C1083. Для исправления этой проблемы необходимо использовать правильный файл, а не добавлять в построение файл заголовка или каталог.
Предкомпилированные заголовки еще не скомпилированы
Если проект настроен на использование предварительно скомпилированных заголовков, необходимо создать соответствующие .pch файлы, чтобы можно было скомпилировать файлы, использующие содержимое заголовка. Например, pch.cpp файл ( stdafx.cpp в Visual Studio 2017 и более ранних версиях) автоматически создается в каталоге проекта для новых проектов. Сначала необходимо скомпилировать этот файл, чтобы создать предкомпилированные файлы заголовков. В стандартной структуре процесса сборки это делается автоматически. Дополнительные сведения см. в разделе «Создание предварительно скомпилированных файлов заголовков».
Дополнительные причины
Вы установили пакет SDK или стороннюю библиотеку, но не открывали новое окно командной строки разработчика после установки пакета SDK или библиотеки. Если пакет SDK или библиотека добавляет файлы в путь INCLUDE , может потребоваться открыть новое окно командной строки разработчика, чтобы получить эти изменения переменной среды.
Файл использует управляемый код, но параметр /clr компилятора не указан. Дополнительные сведения см. в разделе /clr (компиляция среды CLR).
Файл компилируется с помощью другого /analyze параметра параметра компилятора, отличного от используемого для предварительной компиляции заголовков. При предварительной компиляции заголовков проекта все должны использовать одни и те же /analyze параметры. Дополнительные сведения см. в разделе /analyze (Анализ кода).
Файл или каталог был создан подсистема Windows для Linux, включена конфиденциальность регистра для каждого каталога, и указанный случай пути или файла не соответствует регистру пути или файла на диске.
Файл, каталог или диск доступен только для чтения.
Visual Studio или программы командной строки не имеют достаточных разрешений для чтения файла или каталога. Это может произойти, например, если файлы проекта имеют другое право собственности, чем процесс, выполняемый в Visual Studio или программы командной строки. Иногда эту проблему можно устранить, запустив Visual Studio или командную строку разработчика от имени администратора.
Недостаточно дескрипторов файлов. Закройте часть приложений и повторите компиляцию. Эта ситуация маловероятна в обычных условиях. Однако она может возникать при построении крупных проектов на компьютере с ограниченной физической памятью.
Пример
В следующем примере возникает ошибка C1083, если файл «test.h» заголовка не существует в исходном каталоге или в пути поиска включения.
Сведения о сборке проектов C/C++ в интегрированной среде разработки или командной строке, а также о настройке переменных среды см. в разделе «Проекты» и «Системы сборки».
Источник
I’ve stumbled across this annoying error when trying to setup Cython working environment. Here are a couple of good guides: one, two. Everything went fine until I tried to compile the Cython code with
python setup.py build_ext --inplace
Then I got this nasty error:
C:Usersirmscanaconda3envsbacktestingincludepyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit code 2
This is definitely something to do with the Microsoft Visual Studio compatibility. There are some useful advices here and there on the internet like here on StackOverflow where people mostly recommend making sure you install latest Build Tools and Windows 10 SDK via the Visual Studio installer. And a bunch of other things that I tried to no avail.
Of course I could’ve spend a couple more days trying to find the “orthodox” solution but I decided to give a shot to the alternative approaches which can be found over here. It gave Anaconda a try, a second chance actually. Here’s the complete guide.
1: Issue solved by installing Anaconda for Windows 10
2: install cython by running conda install -c anaconda cython in Anaconda prompt
3: go in C:UsersUtilisateurAnaconda3Libdistutils or wherever your distutils library is the create a distutils.cfg file (by using the notepad) and put
[build] compiler=mingw32
or even
[build] compiler=mingw64
4: get the latest version of Mingw-w64 (not just Mingw which support just 32 bits) at https://sourceforge.net/projects/mingw-w64/files/ and install it
5: add C:Program Files (x86)mingw-w64i686-8.1.0-posix-dwarf-rt_v6-rev0mingw32bin to your Path here is a link on how to do that on windows 10: https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/
6: install libpython and m2w64-toolchain in your anaconda envirement by running conda install -c anaconda libpython and conda install -c msys2 m2w64-toolchain It come from these webpage https://python-at-risoe.pages.windenergy.dtu.dk/compiling-on-windows/common_errors.html and should correct the corresponding errors
So now if you run “python setup.py build_ext –inplace” you can see there’s no more error. The nasty “Cannot open include file ‘io.h’ No such file or directory error command failed with exit code 2” – has been fixed!
Hope this helps!
Question :
Running Cython in Windows x64 – fatal error C1083: Cannot open include file: ‘basetsd.h’: No such file or directory
I have been trying to install Cython for Python 2.7 on my Window 7 system. In particular, I prefer everything in 64 bits. (In case you wonder, I need Cython because Cython is one of the components I need for another package for some specialized numerical analysis. And x64 is potentially an advantage for storage of large data sets.)
So I downloaded the x64 Python 2.7 from the official website. Got Cython from Christoph Gohlke. The amd64 version for Python 2.7 of course. Before I installed, I added Python 2.7 into the registry with the .reg
file found in Joe DF’s answer here. Afterwards, I installed the Visual C++ compiler from here (I don’t think it works) and here (but this one should). At this point, I have in my C:Program Files (x86)Microsoft Visual Studio 9.0VCbin
directory all of vcvars32.bat
, vcvars64.bat
, vcvars86_amd64.bat
, vcvarsx86_ia64.bat
. I ran vcvars64.bat
and there was no error message.
Subsequently, I followed this page to create a “hello world” test file.
Then, I got this error.
...Tests>python setup.py build_ext --inplace
running build_ext
building 'hello' extension
error: Unable to find vcvarsall.bat
So I thought to myself: Well, Cython can’t find that file because it does not exist. (I searched my whole harddrive for it.) So I copied vcvars64.bat
from ...VCbin
to VC
and changed the name to vcvarsall.bat
. Now vcvarsall error is gone. And … naturally, a new error emerges.
...Tests>python setup.py build_ext --inplace
running build_ext
building 'hello' extension
C:Program Files (x86)Microsoft Visual Studio 9.0VCBINamd64cl.exe /c /nolog
o /Ox /MD /W3 /GS- /DNDEBUG -IC:Python27include -IC:Python27PC /Tchello.c /F
obuildtemp.win-amd64-2.7Releasehello.obj
hello.c
C:Python27includepyconfig.h(227) : fatal error C1083: Cannot open include fil
e: 'basetsd.h': No such file or directory
error: command '"C:Program Files (x86)Microsoft Visual Studio 9.0VCBINamd64
cl.exe"' failed with exit status 2
Now I have no idea how to proceed. What should I do? Your help is much appreciated.
(For clarity, I did try setting the compiler to Mingw32. But there are other errors. I am focusing on getting VC to work for now.)
EDIT: I tried using the SDK build environment CMD following the instructions on this page. I received the same error.
Answer #1:
In case anyone is currently (2017) facing same error with visual C++ 2015 tools, launch setup again and also select windows 8.1 / 10 SDK depending upon your OS. This will fix basestd.h
error.
If it is still not working, try launching build tools from: C:Program Files (x86)Microsoft Visual C++ Build Tools.
Another alternative would be, just install anaconda 2 or 3 (64 bit if also you don’t want memory errors). It contains all the important packages prebuilt: sklearn, matplotlib, scipy, numpy, pandas and even web development frameworks such as flask.
Answer #2:
I encountered this problem while trying to install pandas
in ‘develop’ mode. I’m up & running now. My environment:
- Windows XP Pro x64 SP2
- WinPython 64bit 2.7.5.3 (Python 2.7.5.amd64)
<--
“registered” as system’s python distro using WinPython Control Panel application
Problems encountered when running python setup.py develop
:
- Unable to find vcvarsall.bat
- fatal error C1083: Cannot open include file: ‘basetsd.h’: No such file or directory … exit code 2
Solution:
- Download and install Microsoft Visual C++ 2008 Express.
- Download and install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1. You will need only:
- Developer Tools > Windows Headers and Libraries
<--
this gives youbasetsd.h
- Developer Tools > Visual C++ Compilers
<--
this gives you the 64-bit compilers
- Developer Tools > Windows Headers and Libraries
- Copy
C:Program Files (x86)Microsoft Visual Studio 9.0VCbinvcvars64.bat
toC:Program Files (x86)Microsoft Visual Studio 9.0VCbinamd64vcvarsamd64.bat
. Observe the change in file name. - Add
C:Program Files (x86)Microsoft Visual Studio 9.0VCbin
toPATH
. This may not be required (I did so before re-installing the SDK w/ Headers & Libs; therefore, the necessity is unknown).
At this point, running python setup.py develop
completed successfully and python -c "import pandas; print pandas.__version__"
resulted in the git tag I expected.
[EDIT] Further reading:
- error: Unable to find vcvarsall.bat
- answer if you just want binaries to install
- answer if you want to compile on x64 machine
- answer about the file location/name change
- distutils issue 7511
Answer #3:
For those with Windows 10, download the SDK from here to fix the header file basestd.h
.
I downloaded the .exe, installed and worked great. SDK was ~2.3GB.
Note: For those like me with 64-bit systems who got an additional error:
`LINK : fatal error LNK1158: cannot run 'rc.exe'
error: command 'C:Program Files (x86)Microsoft Visual Studio 14.0VCBINx86_amd64link.exe' failed with exit status 1158
There is a great answer here which solves the problem by placing the rc.exe
file in the correct folder for your system.
Answer #4:
For suggestion, you can try it for build cython 64 bit with setup.py
I’m using Anaconda for python distribution, Microsoft’s Windopws SDK 7, and MSVC 12.0.
Firstly, I make library for my cuda function,
Second, I run python setup.py build_ext -i for make temp folder (you wil get error),
then compile Makefile below,
Mostly, I get this from setup.py when it is compile 32 bit app, then change it for compile 64 bit.
Makefile
CL_EXE = "C:Program Files (x86)Microsoft Visual Studio 12.0VCbinamd64cl.exe"
LINK_EXE = "C:Program Files (x86)Microsoft Visual Studio 12.0VCbinamd64link.exe"
CL_FLAGS = /c /nologo /Ox /MD /W3 /GS- /DNDEBUG /O2 /fp:fast
CL_INC = -I. -I"C:Program FilesMicrosoft SDKsWindowsv7.1Include"
-I"C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude" -IC:UsersnameAnaconda2envspy27Libsite-packagesnumpycoreinclude -IC:UsersnameAnaconda2envspy27include -IC:UsersnameAnaconda2envspy27PC
LINK_FLAGS = /DLL /nologo /INCREMENTAL:NO /MACHINE:X64
LINK_LIBPATH = "/LIBPATH:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv7.5libx64"
/LIBPATH:C:UsersnameAnaconda2envspy27libs
/LIBPATH:C:UsersnameAnaconda2envspy27PCbuildamd64
/LIBPATH:C:UsersnameAnaconda2envspy27PCVS9.0amd64
"/LIBPATH:C:Program Files (x86)Microsoft Visual Studio 12.0VClibamd64"
"/LIBPATH:C:Program FilesMicrosoft SDKsWindowsv7.1Libx64"
LINK_LIB = cuda_multiply4D.lib cudart.lib MSVCRT.lib kernel32.lib
LINK_EXPORT = /EXPORT:initmy_cuda
LINK_OBJ = buildtemp.win-amd64-2.7Releasemy_cuda.obj
LINK_OUT = "/OUT:E:my_cuda.pyd"
LINK_OTHER_CONF = /IMPLIB:buildtemp.win-amd64-2.7Releasemy_cuda.lib /MANIFESTFILE:buildtemp.win-amd64-2.7Releasemy_cuda.pyd.manifest
all:
$(CL_EXE) $(CL_FLAGS) $(CL_INC) /Tcmy_cuda.c /Fobuildtemp.win-amd64-2.7Releasemy_cuda.obj
$(LINK_EXE) $(LINK_FLAGS) $(LINK_LIBPATH) $(LINK_LIB) $(LINK_EXPORT) $(LINK_OBJ) $(LINK_OUT) $(LINK_OTHER_CONF)
Note:
- MSVCRT.lib kernel32.lib are optional,
- /EXPORT:initmy_cuda is mandatory. Its format init%yourfilename_WO_Ext%
- “/OUT:E:my_cuda.pyd” for determine your output location, its filename, and its extension.
Answer #5:
Add these to the visual studio installation directories to your Environment variables
C:Program Files (x86)Microsoft Visual Studio 14.0VC
C:Program Files (x86)Microsoft Visual Studio 14.0VCbin
C:Program Files (x86)Microsoft Visual Studio 14.0Common7Tools
hope it solves the issue.
Answered By: Khan
Answer #6:
I could solve this problem by downloading and installing the latest Windows 10 SDK from this link:
https://software-download.microsoft.com/download/pr/19041.685.201201-2105.vb_release_svc_prod1_WindowsSDK.iso
but then another problem appeared with (cpython):
error C2039: 'exc_type': is not a member of '_ts'
which I could resolve by declaring additional pointers in
(...python38includecpythonpystate.h)
I found these at line 77:
/* The exception currently being raised */
PyObject *curexc_type;
PyObject *curexc_value;
PyObject *curexc_traceback;
and I add the following just after them (without the first three letters “cur”):
/* The exception currently being raised */
PyObject *exc_type;
PyObject *exc_value;
PyObject *exc_traceback;