Я решил переключиться от Windows до Linux, таким образом, я установил Ubuntu заключительная бета Полная нетерпения.
К сожалению, у меня есть проблема Python.
Я пытался использовать pip
от virtualenv я создал, для установки пакетов от a requirements.txt
файл как это: pip install -r requirements.txt
Я получил следующую ошибку, в то время как пакет устанавливал:
buildutils/initlibzmq.c:10:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Я нашел в Интернете, что для избавлений от этого я должен установить python-dev
пакет deb:
sudo apt-get install python-dev
Так как я установил этот пакет, у меня есть следующая ошибка, когда я пытаюсь запустить Python:
file: "ImportError: No module named _io".
I use this python from the virtualenv:
Python 2.7.4rc1 (default, Mar 30 2013, 15:39:28)
[GCC 4.7.2] on linux2
У кого-либо есть идея? Я ничего не могу найти на Google, и я действительно должен решить эту проблему для использования Ubuntu для моей работы...
Спасибо за помощь.
Править:
Кажется, что мой virtualenv был поврежден по некоторым причинам. Я удалил его.
Я воссоздал один и выполнил "установку зернышка-r requirements.txt" снова, и теперь у меня есть эта ошибка:
Warning: failed to configure libzmq:
/bin/sh: 1: ./configure: not found
staging platform.hpp from: buildutils/include_linux
************************************************
Using bundled libzmq
************************************************
building 'zmq.libzmq' extension
creating build/temp.linux-x86_64-2.7/buildutils
creating build/temp.linux-x86_64-2.7/bundled
creating build/temp.linux-x86_64-2.7/bundled/zeromq
creating build/temp.linux-x86_64-2.7/bundled/zeromq/src
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibundled/zeromq/include -Ibundled -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -c buildutils/initlibzmq.c -o build/temp.linux-x86_64-2.7/buildutils/initlibzmq.o
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibundled/zeromq/include -Ibundled -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -c bundled/zeromq/src/ipc_address.cpp -o build/temp.linux-x86_64-2.7/bundled/zeromq/src/ipc_address.o
x86_64-linux-gnu-gcc: error trying to exec 'cc1plus': execvp: No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
EDIT2:
gcc
ошибка выше может быть зафиксирована путем установки build-essential
пакет.
Вы должны заменить версию Python в вашем испорченном virtualenv.
Сделайте это:
Создайте новый Virtualenv
mkvirtualenv MyNewTestEnv
Найдите «python» (в моем случае virtualenvs находятся в домашнем каталоге)
cd ~/.virtualenvs/MyNewTestEnv/bin
Скопируйте «python» из нового virtualenv в поврежденный virtualenv
cp ~/.virtualenvs/MyNewTestEnv/bin/python ~/.virtualenvs/<yourCorruptedEnv>/bin
Это. Теперь ваш CorruptedEnv должен быть исправлен.
В дополнение к стандартной библиотеке и сторонним модулям Python также имеет встроенные модули. Они написаны на C и связаны непосредственно в исполняемом файле Python. Вы можете узнать, как это выглядит:
$ python
Python 2.7.4 (default, Apr 19 2013, 18:28:01)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_bisect', '_codecs', '_collections', '_functools', '_heapq', '_io', '_locale', '_md5', '_random', '_sha', '_sha256', '_sha512', '_socket', '_sre', '_struct', '_symtable', '_warnings', '_weakref', 'array', 'binascii', 'cPickle', 'cStringIO', 'cmath', 'errno', 'exceptions', 'fcntl', 'gc', 'grp', 'imp', 'itertools', 'marshal', 'math', 'operator', 'posix', 'pwd', 'select', 'signal', 'spwd', 'strop', 'sys', 'syslog', 'thread', 'time', 'unicodedata', 'xxsubtype', 'zipimport', 'zlib')
virtualenv env
работает, копируя /usr/bin/python2.7
в env/bin/python
, а затем вставляя ссылки на все стандартные модули библиотеки в env/lib/python2.7/*.py
.
Когда вы обновляете свой системный Python, вы автоматически получаете обновленную стандартную библиотеку во всех ваших virtualenvs (потому что символические ссылки!), Но вы все еще используете старую копию исполняемого файла Python. Это означает, что вы также используете старые версии встроенных модулей.
Некоторые стандартные библиотечные модули зависят от встроенных модулей. И иногда стандартная библиотека Python 2.7. (X + 1) зависит от встроенных модулей, которые также были представлены в Python 2.7. (X + 1). Используя старый virtualenv, вы фактически пытаетесь использовать Python 2.7.x со стандартной библиотекой Python 2.7. (X + 1), и иногда это ломается.
Воссоздание virtualenv является правильным решением.
(Вероятно, достаточно заменить исполняемые файлы bin/python
и bin/python2.7
внутри virtualenv, предполагая, что в обновленной системе Python не появилось никаких новых файлов stdlib.)
Вам не нужно удалять виртуальную среду.
Просто следуйте этим шагам. скажем, ваша виртуальная среда называется "mydev"
1) virtualenv mydev
Приведенная выше команда просто обновляется, не теряя ни одного пакета.
2) за пределами virtualenv, если ваш пункт не работает, то просто «easy_install pip» решит проблему
Обратите внимание, я добавил этот ответ, чтобы вывести вопрос из очереди без ответа.
Как вы предлагаете во втором редактировании,
Приведенная выше ошибка gcc может быть исправлена путем установки пакета debian build-essential. BLOCKQUOTE>