Mostrando postagens com marcador python. Mostrar todas as postagens
Mostrando postagens com marcador python. Mostrar todas as postagens

20180226

root_numpy 4.7.3 no macOS 10.13.1

Instalado com pip dava o problema:
$ python
Python 2.7.10 (default, Jul 15 2017, 17:16:57) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import root_numpy
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Python/2.7/site-packages/root_numpy/__init__.py", line 51, in 
    from ._tree import (
  File "/Applications/root_v6.12.06/lib/ROOT.py", line 318, in _importhook
    return _orig_ihook( name, *args, **kwds )
  File "/Library/Python/2.7/site-packages/root_numpy/_tree.py", line 6, in 
    from . import _librootnumpy
  File "/Applications/root_v6.12.06/lib/ROOT.py", line 318, in _importhook
    return _orig_ihook( name, *args, **kwds )
ImportError: dlopen(/Library/Python/2.7/site-packages/root_numpy/_librootnumpy.so, 2): Library not loaded: @rpath/libHist.so
  Referenced from: /Library/Python/2.7/site-packages/root_numpy/_librootnumpy.so
  Reason: image not found
Resolvido com:
$ sudo install_name_tool -add_rpath /Applications/root_v6.12.06/lib/ /Library/Python/2.7/site-packages/root_numpy/_librootnumpy.so

20110524

Matrizes no Python como lista de listas

Precisávamos de uma implementação de matrizes no Python e lista de listas foi a idéia imediata.
Sabíamos que as seguintes interações funcionavam para copiar uma lista.

>>> a = [1,2,3]
>>> b = a[:]
>>> a
[1, 2, 3]
>>> b
[1, 2, 3]
>>> b[1] = 5
>>> b
[1, 5, 3]
>>> a
[1, 2, 3]

Com base nisso, tentamos o mesmo com matrizes.

>>> a = [[1,2,3], [4,5,6]]
>>> b = a[:]
>>> b
[[1, 2, 3], [4, 5, 6]]
>>> b[1][1] = 7
>>> b
[[1, 2, 3], [4, 7, 6]]
>>> a
[[1, 2, 3], [4, 7, 6]]

No entanto, vê-se que b[1] e a[1] são o mesmo objeto. A solução, ainda utilizando lista de listas, é copiar as listas internas (linhas da matriz) manualmente, como no exemplo seguinte:

>>> a = [[1,2,3], [4,5,6]]
>>> b = []
>>> b.append(a[0][:])
>>> b.append(a[1][:])
>>> b
[[1, 2, 3], [4, 5, 6]]
>>> b[1][1] = 7
>>> b
[[1, 2, 3], [4, 7, 6]]
>>> a
[[1, 2, 3], [4, 5, 6]]

20100926

ROOT e pyROOT no Ubuntu

No Ubuntu 8.10, para usar ROOT e pyROOT é necessário instalar root-system-bin, root-system-common, root-plugin-python e libroot-python-dev.
Após isso, um
import ROOT
no python deve funcionar.