правильно установить python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3

19121
boldnik

... используя Linux (xubuntu). Как правильно установить python2.7.3 + numpy + scipy + matplotlib + scikits.statsmodels + pandas0.7.3? Моя конечная цель - заставить их работать. Эта проблема:

~$ python --version Python 2.7.3 

так что у меня уже есть система по умолчанию 2.7.3, и это хорошо!

~$ dpkg -s python-numpy Package: python-numpy Status: install ok installed 

и у меня уже есть NumPy установлен! отличный! Но...

~$ python Python 2.7.3 (default, Oct 23 2012, 01:07:38)  [GCC 4.6.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as nmp Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named numpy 

этот модуль не может быть найден Python. То же самое со Сципионом, матплотлибом. Зачем?

~$ sudo apt-get install python-numpy [...]  Reading package lists... Done Building dependency tree  Reading state information... Done python-numpy is already the newest version. [...] 

почему он не видит numpy и другие?

Обновить:

>>> import sys >>> print sys.path ['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages'] >>>  

так что у меня есть /usr/local/lib/python2.7

~$ pip freeze Warning: cannot find svn location for distribute==0.6.16dev-r0 BzrTools==2.4.0 CDApplet==1.0 [...] matplotlib==1.0.1 mutagen==1.19 numpy==1.5.1 [...] pandas==0.7.3 papyon==0.5.5 [...] pytz==2012g pyxdg==0.19 reportlab==2.5 scikits.statsmodels==0.3.1 scipy==0.11.0 [...] zope.interface==3.6.1 

как видите, эти модули уже установлены! Но! ls -la / usr / local / lib / дает ТОЛЬКО каталог python2.7. И еще

~$ python -V Python 2.7.3 

а также

import sys sys.version '2.7.3 (по умолчанию, 23 октября 2012 г., 01:07:38) \ n [GCC 4.6.1]'

обновлено:

Возможно, я пропустил другой экземпляр ... Один за другим /usr/Python-2.7.3/(кажется, что он был установлен "руками" очень давно) на /usr/python2.7.3/Python-2.7.3/ Но как две идентичные версии могут работать одновременно ??? Возможно, один из них «отключен» (не используется ни одной программой, но я не знаю, как проверить, использует ли его какая-либо программа).

~$ ls -la /usr/bin/python* lrwxrwxrwx 1 root root 9 2011-11-01 11:11 /usr/bin/python -> python2.7 -rwxr-xr-x 1 root root 2476800 2012-09-28 19:48 /usr/bin/python2.6 -rwxr-xr-x 1 root root 1452 2012-09-28 19:45 /usr/bin/python2.6-config -rwxr-xr-x 1 root root 2586060 2012-07-21 01:42 /usr/bin/python2.7 -rwxr-xr-x 1 root root 1652 2012-07-21 01:40 /usr/bin/python2.7-config lrwxrwxrwx 1 root root 9 2011-10-05 23:53 /usr/bin/python3 -> python3.2 lrwxrwxrwx 1 root root 11 2011-09-06 02:04 /usr/bin/python3.2 -> python3.2mu -rwxr-xr-x 1 root root 2852896 2011-09-06 02:04 /usr/bin/python3.2mu lrwxrwxrwx 1 root root 16 2011-10-08 19:50 /usr/bin/python-config -> python2.7-config 

есть символическая ссылка python-> python2.7, может быть, я могу ln -f -s эту ссылку на точное /usr/Python-2.7.3/python назначения без вреда ?? И как правильно удалить «копию» 2.7.3? И еще ...

~$ ls -la /usr/bin/virtualenv  -rwxr-xr-x 1 root root 58 2011-03-16 18:55 /usr/bin/virtualenv 

но работает только в этом случае:

~$ /usr/bin/python /usr/bin/virtualenv qenv New python executable in qenv/bin/python Installing distribute....................................................................................................................................................................................done. Installing pip...............done. 

и это не работает!

 python virtualenv.py pyenv 

Я постараюсь быть более понятным. Просто вопросы. Почему я могу импортировать numpy, начиная с '/ usr / bin / python', но не могу использовать только 'python'? Если я хочу установить другую версию python для разных приложений, каков наилучший способ сделать это? Как установить пакеты в выбранный pythonpath? Я не нашел полное руководство.


Спасибо всем! Решил это так:

$ sudo nano /usr/share/python/debian_defaults $ sudo mv /usr/bin/python /usr/bin/python2.Y_old $ sudo ln -s -f /usr/bin/python2.7 /usr/bin/python 

Моя версия по умолчанию была 2.7.3, а теперь 2.7.2+. Я не вижу огромной разницы, поэтому думаю, что это было довольно безопасно. Но мне нужно больше узнать о

virtualenv

а также

Пип и ПУТЬ по умолчанию

0
Вы на самом деле пытались запустить `/ usr / bin / python`, а затем пытались импортировать? Я не вижу никаких признаков этого. Что касается удаления этих других версий, я могу отключить их, например, `sudo mv /usr/Python-2.7.3 / usr / Python-2.7.3-disabled`. Если все затем продолжит работать, `sudo rm -r / usr / Python-2.7.3-disabled` действительно избавится от этого. 9769953 11 лет назад 0
Да, запуск / usr / bin / python работал отлично! Успешно импортирован NumPy. НО! Я до сих пор не понимаю, как управлять только одной версией Python, как использовать именно ту версию, которая мне нужна для запуска программы. boldnik 11 лет назад 0
либо удалите другую установку Python (или, лучше, отодвиньте их в сторону), либо убедитесь, что в вашем `PATH`,` / usr / bin` стоит * перед * `/ usr / local / bin` и другими (bin) каталогами, которые содержать Python. Ваша оболочка выбирает первый исполняемый файл `python`, который он может найти в вашем` PATH`. Если вы действительно не знаете, как это сделать, возможно, вам лучше задать этот новый вопрос (включая перечисление содержимого ваших файлов `.bashrc`,` .bash_profile` и нескольких других файлов `.bash *`, которые вы можно найти. Предполагая, что вы используете `bash`, который является оболочкой по умолчанию в Ubuntu). 9769953 11 лет назад 0

3 ответа на вопрос

3
Pablo Navarro

I strongly recomend you to use virtualenv. Virtualenv allows you to create python environment in per project basis. My workflow to begin a new project is

  • Create the project directory myapp
  • Download virtualenv from https://github.com/pypa/virtualenv/tarball/develop
  • Create a virtual environment: python virtualenv.py pyenv
  • Activate the virtualenv source pyenv/bin/activate
  • Install the packages in the virtual environment:

    pip install -U numpy matplotlib pandas ...

With this setup, you can control the version, reinstall or remove the packages without have to depend on the version that is available in the repositories.

Я сделал все шаги только с одним исключением - он не увидел virtualenv.py, поэтому я использовал полный путь. Далее устанавливаются все необходимые пакеты, но все равно выдается такая же ошибка. Я не понимаю Создание 'pip freeze' показывает все, что мне нужно, уже установлено. boldnik 11 лет назад 0
1
Roland Smith

This is probably better asked in a Xubuntu forum, because it is most probably a configuration issue. Is there perhaps more than one version of python installed?

In the python interpreter, type the following code;

import sys print sys.path 

Verify that the numpy directory is installed in one of the directories listed in sys.path.

On my FreeBSD (UNIX-like) system with python 2.7.3, numpy is installed as a subdirectory of /usr/local/lib/python2.7/site-packages/. On windows it is probably C:\Python27\Lib\site-packages\.

If you e.g. also have a python 3.x installed, it could be that numpy et cetera in installed for that python. In that case, look in /usr/local/lib/python3.x/site-packages/ or C:\Python3x\Lib\site-packages\.

0
Fred Foo

You seem to be using a custom-installed Python 2.7.3 in /usr/local/bin. Using /usr/bin/python, you should be able to import numpy; apt-get installs to /usr but never /usr/local.

Спасибо за ответ. Я добавил обновление в свой пост. 11 лет назад 0
@boldnik: нет такой вещи, как «отключенная» установка Python. Наберите `which python`, чтобы выяснить, какой из них вы используете, и соответствующим образом измените` PATH`, если он не тот, который вам нужен. Fred Foo 11 лет назад 0