błąd krytyczny: Python.h: brak takiego pliku lub katalogu
Próbuję zbudować bibliotekę współdzieloną przy użyciu pliku rozszerzenia C, ale najpierw muszę wygenerować plik wyjściowy za pomocą polecenia poniżej:
gcc -Wall utilsmodule.c -o Utilc
Po wykonaniu polecenia pojawia się komunikat o błędzie:
W rzeczywistości próbowałem wszystkich proponowanych rozwiązań przez internet, ale problem nadal istnieje ... nie mam też problemu zUtilsmodule.c: 1: 20: fatal error: Python.h: brak takiego pliku lub katalogu kompilacja zakończona.
Python.h
. Udało mi się zlokalizuj plik na mojej maszynie ... czy ktoś wcześniej miał ten sam problem?? 25 answers
Wygląda na to, że nie zainstalowałeś poprawnie plików nagłówkowych i bibliotek statycznych dla Pythona dev. Użyj menedżera pakietów, aby zainstalować je w całym systemie.
Dla apt
(Ubuntu, Debian...):
sudo apt-get install python-dev # for python2.x installs
sudo apt-get install python3-dev # for python3.x installs
Dla yum
(CentOS, RHEL...):
sudo yum install python-devel # for python2.x installs
sudo yum install python34-devel # for python3.4 installs
Dla dnf
(Fedora...):
sudo dnf install python2-devel # for python2.x installs
sudo dnf install python3-devel # for python3.x installs
Dla zypper
(openSUSE...):
sudo zypper in python-devel # for python2.x installs
sudo zypper in python3-devel # for python3.x installs
Dla apk
(Alpine...):
# This is a departure from the normal Alpine naming
# scheme, which uses py2- and py3- prefixes
sudo apk add python2-dev # for python2.x installs
sudo apk add python3-dev # for python3.x installs
Dla apt-cyg
(Cygwin...):
apt-cyg install python-devel # for python2.x installs
apt-cyg install python3-devel # for python3.x installs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-18 14:56:11
Na Ubuntu uruchamiałem Pythona 3 i musiałem zainstalować
sudo apt-get install python3-dev
Jeśli chcesz użyć wersji Pythona, która nie jest powiązana z python3, zainstaluj powiązaną wersję python3.pakiet x-dev. Na przykład:
sudo apt-get install python3.5-dev
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-28 18:49:03
Musisz zrobić dwie rzeczy.
Zainstaluj pakiet programistyczny dla Pythona, w przypadku Debiana / Ubuntu / Mint wykonujemy to poleceniem:
sudo apt-get install python-dev
Drugą rzeczą jest to, że pliki include nie są domyślnie w ścieżce include, ani Biblioteka Pythona nie jest domyślnie połączona z wykonywalnym. Musisz dodać te flagi (odpowiednio zastąpić wersję Pythona):
-I/usr/include/python2.7 -lpython2.7
Innymi słowy twoje polecenie kompilacji powinno brzmieć:
gcc -Wall -I/usr/include/python2.7 -lpython2.7 utilsmodule.c -o Utilc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-03 15:13:31
Jeśli używasz Raspberry Pi:
sudo apt-get install python-dev
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-16 02:50:23
Na Fedorze uruchom to dla Pythona 2:
sudo dnf install python2-devel
I dla Pythona 3:
sudo dnf install python3-devel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-22 15:24:05
Jeśli używasz tox do uruchamiania testów na wielu wersjach Pythona, może być konieczne zainstalowanie bibliotek programistów Pythona dla każdej wersji Pythona, na której testujesz.
sudo apt-get install python2.6-dev
sudo apt-get install python2.7-dev
etc.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-28 18:13:44
Chciałbym dodać również rozwiązanie dla Cygwin :
Musisz zainstalować pakiet python2-devel
lub python3-devel
, w zależności od używanej wersji Pythona.
Możesz szybko zainstalować go za pomocą 32-bitowegolub 64-bitowego setup.exe
(w zależności od instalacji) od Cygwin.com .
Przykład (w razie potrzeby zmodyfikuj nazwę pliku setup.exe
i główną wersję Pythona):
$ setup.exe -q --packages=python3-devel
Możesz też sprawdzić moją inną odpowiedź na jeszcze kilka opcji instalacji pakietów Cygwina z linii poleceń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-08 11:31:30
W AWS API (centOS) its
yum install python27-devel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-09 14:29:47
Dla mnie zmiana na to zadziałała:
#include <python2.7/Python.h>
Znalazłem plik /usr/include/python2.7/Python.h
, A ponieważ /usr/include
jest już w ścieżce include, to python2.7/Python.h
powinno wystarczyć.
Możesz również dodać ścieżkę include z linii poleceń - gcc -I/usr/lib/python2.7
(dzięki @ erm3nda).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-29 08:14:06
Upewnij się, że pliki deweloperów Pythona są dostarczane wraz z Twoim systemem operacyjnym.
Nie należy kodować na twardo biblioteki i dołączać ścieżek. Zamiast tego użyj pkg-config, który wyświetli odpowiednie opcje dla konkretnego systemu:
$ pkg-config --cflags --libs python2
-I/usr/include/python2.7 -lpython2.7
Możesz dodać go do swojej linii gcc :
gcc $(pkg-config --cflags --libs python2) -Wall utilsmodule.c -o Utilc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-03 15:26:32
AWS EC2 install running python34:
sudo yum install python34-devel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-12 22:57:40
To nie jest ta sama sytuacja, ale działa również dla mnie i teraz mogę użyć SWIG z Python3.5:
Próbowałem skompilować:
gcc -fPIC -c existe.c existe_wrap.c -I /usr/include/python3.5m/
Z Pythonem 2.7 działa dobrze, nie z moją wersją 3.5:
Existe_wrap.c: 147: 21: fatal error: Python.h: No existe el archivo o el kompilacja directorio zakończona.
Po uruchomieniu w moim Ubuntu 16.04 instalacja:
sudo apt-get install python3-dev # for python3.x installs
Teraz mogę skompilować bez problemów Pyton3.5:
gcc -fPIC -c existe.c existe_wrap.c -I /usr/include/python3.5m/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-05 12:11:03
W moim przypadku Naprawiono to w Ubuntu instalując Pakiety libpython-all-dev
(LUB libpython3-all-dev
Jeśli używasz Pythona 3).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-01 01:27:33
Jeśli używasz virtualenv z Pythonem 3.6 (krawędź teraz), pamiętaj, aby zainstalować pasujący python 3.6 dev sudo apt-get install python3.6-dev
, w przeciwnym razie wykonując sudo python3-dev
zainstaluje Python dev 3.3.3-1, który nie rozwiąże problemu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-09 11:46:54
Udało mi się rozwiązać ten problem i wygenerować plik. so w jednym poleceniu
gcc -shared -o UtilcS.so
-fPIC -I/usr/include/python2.7 -lpython2.7 utilsmodule.c
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-29 01:43:48
Spróbuj apt-file. Trudno jest zapamiętać nazwę pakietu, w którym znajduje się brakujący plik. Jest ogólny i przydatny dla wszystkich plików pakietów.
Na przykład:
root@ubuntu234:~/auto# apt-file search --regexp '/Python.h$'
pypy-dev: /usr/lib/pypy/include/Python.h
python2.7-dbg: /usr/include/python2.7_d/Python.h
python2.7-dev: /usr/include/python2.7/Python.h
python3.2-dbg: /usr/include/python3.2dmu/Python.h
python3.2-dev: /usr/include/python3.2mu/Python.h
root@ubuntu234:~/auto#
Teraz możesz zgadnąć eksperta, który wybrać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 12:43:21
Dla towarzyszy OpenSuse:
sudo zypper install python3-devel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-29 05:47:51
Dla CentOS 7:
sudo yum install python36u-devel
Zastosowałem się do instrukcji instalacji python3. 6 na kilku maszynach wirtualnych: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming-environment-on-centos-7 następnie był w stanie zbudować mod_wsgi i uruchomić go z python3. 6 virtualenv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-27 16:41:18
Napotkałem również ten błąd podczas instalacji coolprop w ubuntu.
Dla ubuntu 16.04 z Pythonem 3.6
sudo apt-get install python3.6-dev
Jeśli to nie zadziała, spróbuj zainstalować / zaktualizować gcc
lib.
sudo apt-get install gcc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-14 01:58:00
Ten błąd wystąpił, gdy próbowałem zainstalować ctds na CentOS 7 z Python3. 6. Zrobiłem wszystkie sztuczki wymienione tutaj, w tym yum install python34-devel
. Problem był Python.h
został znaleziony w /usr/include/python3.4m but not in /usr/include/python3.6m
. Próbowałem użyć --global-option
, aby wskazać na dołączenie dir (pip3.6 install --global-option=build_ext --global-option="--include-dirs=/usr/include/python3.4m" ctds
). To spowodowało, że lpython3.6m
nie znaleziono podczas łączenia CTD.
W końcu udało się naprawić środowisko programistyczne dla Python3. 6, które musi poprawić za pomocą include i libs.
yum -y install https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/python36u-libs-3.6.3-1.ius.centos7.x86_64.rpm
Python.h musi być w twojej ścieżce dołączania do gcc. Bez względu na to, która wersja Pythona jest używana, na przykład jeśli jest to 3.6, to powinna być zazwyczaj w /usr/include/python3.6m/Python.h
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-04 06:19:26
Sure python-dev
or libpython-all-dev
are the first thing to (apt
)install
, ale jeśli to nie pomoże, Jak to było w moim przypadku, radzę zainstalować foreign Function Interface pakiety przez sudo apt-get install libffi-dev
i sudo pip install cffi
.
To powinno pomóc, zwłaszcza jeśli widzisz Błąd jako / from c/_cffi_backend.c:2:20: fatal error: Python.h: No such file or directory
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-22 20:35:17
Często pojawia się, gdy próbujesz usunąć python3.5
i zainstalować python3.6
.
Więc przy użyciu python3
(Które python3 -V
=> python3.6
) Aby zainstalować niektóre pakiety wymagane python3.5
nagłówek pojawi się ten błąd.
Rozwiąż moduł install python3.6-dev
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-14 07:38:00
Oznacza to, że {[0] }nie znajduje się w domyślnych ścieżkach dołączania kompilatora. Zainstalowałeś system informatyczny w całym systemie lub lokalnie? Jaki jest Twój system operacyjny?
Możesz użyć znacznika -I<path>
, aby określić dodatkowy katalog, w którym kompilator powinien szukać nagłówków. Prawdopodobnie będziesz musiał śledzić -L<path>
, aby gcc mógł znaleźć bibliotekę, z którą będziesz linkował za pomocą -l<name>
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-03 15:12:09
Jeśli używasz Pythona 3.6 na Amazon Linux (oparty na RHEL, ale odpowiedzi RHEL podane tutaj nie zadziałały):
sudo yum install python36-devel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-13 13:56:21
Czasami nawet po zainstalowaniu python-dev błąd nadal występuje, Sprawdź błąd, jeśli brakuje 'gcc'.
Pierwsze pobranie jak podano w https://stackoverflow.com/a/21530768/8687063 , następnie zainstaluj gcc
Dla apt( Ubuntu, Debian...):
sudo apt-get install gcc
For yum (CentOS, RHEL...):
sudo yum install gcc
Dla dnf (Fedora...):
sudo dnf install gcc
Dla zypper (openSUSE...):
sudo zypper in gcc
Dla apk (Alp...):
sudo apk gcc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-28 00:41:05