Как изменить код `numpy`, перестроить и использовать его?

#python #numpy #build

#python #numpy #сборка

Вопрос:

Обычно мой numpy находится на

 /Library/Python/2.7/site-packages/numpy 
  

И я загружаю новый с веб-сайта, чтобы изменить некоторую функцию numpy, затем собираю и устанавливаю его.

Для этого modified numpy находится на

 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy
  

И у моего $PYTHONPATH были оба

/Library/Python/2.7/site-packages/

и

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Я думаю, это сбивает с толку.

Мой вопрос в том, как я могу использовать мой modified numpy вместо исходного numpy в моем проекте?

Наконец, я хочу сказать, что я просто хочу использовать мой modified numpy в своем проекте. И в то же время я не хочу смешивать свой измененный код с исходным кодом numpy. Какой наилучший способ управлять несколькими версиями numpy?

Комментарии:

1. вы пробовали virtualenv?

2. Я пробовал. я знал, как переключить версию numpy, но я не знал, как переключиться numpy на свою modified numpy . если вы хотите ответить, вам не нужно придерживаться моей настройки, вы можете порекомендовать мне правильный способ изменить код и использовать его. без каких-либо путаниц во многих версиях кода.

3. можете ли вы переустановить и изменить снова?

Ответ №1:

Следующие команды предназначены для ОС на базе unix, которая, очевидно, должна работать у вас на Mac.

  1. Установить virtualenv с помощью pip
  2. Используйте virtualenv my_proj_name для создания вашего venv.
  3. Затем cd my_proj_name и введите . bin/activate
  4. Вы можете pip install numpy перестроить / модифицировать или скопировать свой измененный numpy в my_proj_name/lib/python2.7 .
  5. импортируйте его и используйте, ваши пакеты virtualenv будут полностью отделены от любых системных пакетов

Если у вас не установлен pip: загрузите get-pip.py скрипт и запустите его с python get_pip.py помощью.

Комментарии:

1. Я уже пытался сделать шаг вперед, следуя вашему руководству. На шаге 4 я перенес свой modified numpy (уже перестроенный) с внешнего сайта на my_proj_name/lib/python2.7 , но когда я пытаюсь использовать numpy, мой измененный код по-прежнему не работает. похоже, python все еще указывает на исходный пакет numpy, а не на my_proj_name/lib/python2.7

2. вы должны активировать свою среду venv и создать свой проект внутри.