Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[python] Jak pythonu rict kde ma knihovny?

0 views
Skip to first unread message

David Michal

unread,
Mar 12, 2008, 7:18:00 AM3/12/08
to pyt...@py.cz

Zdravim,

Potrebuji nejak pythonu rict ze soubor libsvn_swig_py-1.so.0 je v adresari /usr/local/lib, ale nevim jak to udelat. Zkousel jsem to pres PYTHONPATH ale to neni spravna cesta. Jak to udelat ?

Diky,

David

 

# find / -name libsvn_swig_py-1.so.0

/usr/local/lib/libsvn_swig_py-1.so.0

 

# set | grep PYTHON

PYTHONPATH=/usr/local/lib/

 

# python

Python 2.5b3 (r25b3:51041, Feb 24 2008, 19:02:14)

[GCC 3.4.6] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from svn import core

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/usr/local/lib/python2.5/site-packages/svn/core.py", line 19, in <module>

    from libsvn.core import *

  File "/usr/local/lib/python2.5/site-packages/libsvn/core.py", line 5, in <module>

    import _core

ImportError: libsvn_swig_py-1.so.0: cannot open shared object file: No such file or directory

Věroslav Kaplan

unread,
Mar 12, 2008, 7:29:31 AM3/12/08
to Konference PyCZ
On Wed, Mar 12, 2008 at 12:18 PM, David Michal wrote:
>
>
> Zdravim,
>
> Potrebuji nejak pythonu rict ze soubor libsvn_swig_py-1.so.0 je v adresari /usr/local/lib, ale nevim jak to udelat. Zkousel jsem to pres PYTHONPATH ale to neni spravna cesta. Jak to udelat ?

Existují dva druhy dynamických knihoven:
- jednak moduly pro Python zkompilované jako kni - ty Python opravdu
hledá v adresářích specifikovaných PYTHONPATH,
- a jednak knihovny používané moduly, o jejich dohledání se stará
dynamický linker a na Linuxu ho ovlivníš pomocí LD_LIBRARY_PATH (nebo
/etc/ld.so.conf )

Správné řešení:
- přidat /usr/local/lib do ld.so.conf
- nebo do LD_LIBRARY_PATH

--VK

azurIt

unread,
Mar 12, 2008, 7:29:11 AM3/12/08
to pyt...@py.cz
skus sys.path.insert(0, "/usr/local/lib/")


-----Pôvodná správa-----
Od: David Michal [dmi...@altien.com]
Komu: pyt...@py.cz
Predmet: [python] Jak pythonu rict kde ma knihovny?

Zdravim,

Potrebuji nejak pythonu rict ze soubor libsvn_swig_py-1.so.0 je v adresari /usr/local/lib, ale nevim jak to udelat. Zkousel jsem to pres PYTHONPATH ale to neni spravna cesta. Jak to udelat ?

Diky,

David

# find / -name libsvn_swig_py-1.so.0

/usr/local/lib/libsvn_swig_py-1.so.0

# set | grep PYTHON

PYTHONPATH=/usr/local/lib/

# python

Python 2.5b3 (r25b3:51041, Feb 24 2008, 19:02:14)

[GCC 3.4.6] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from svn import core

Traceback (most recent call last):

File "", line 1, in

File "/usr/local/lib/python2.5/site-packages/svn/core.py", line 19, in

from libsvn.core import *

File "/usr/local/lib/python2.5/site-packages/libsvn/core.py", line 5, in

import _core

ImportError: libsvn_swig_py-1.so.0: cannot open shared object file: No such file or directory

-------------------
MAPY.SK - Najpresnejsie vyhladavanie aj podla cisiel domu, planovanie trasy.
http://mapy.atlas.sk

David Michal

unread,
Mar 12, 2008, 8:24:05 AM3/12/08
to Konference PyCZ
>
> Správné řešení:
> - přidat /usr/local/lib do ld.so.conf
> - nebo do LD_LIBRARY_PATH
>
Zdravim,
Diky za reply. V ld.so.conf uz ta cesta byla pridana a stale neslo. Nakonec jsem pouzil windows metodu a stroj jsem restartoval. A restart pomohl. Nevim jestli za to muze nejaka skryta cache python, nebo cim to bylo. Stalo se vam nekdy neco podobneho?
David

Jan Kundrát

unread,
Mar 12, 2008, 10:14:33 AM3/12/08
to Konference PyCZ
David Michal wrote:
> Zdravim, Diky za reply. V ld.so.conf uz ta cesta byla pridana a stale
> neslo. Nakonec jsem pouzil windows metodu a stroj jsem restartoval. A
> restart pomohl. Nevim jestli za to muze nejaka skryta cache python,
> nebo cim to bylo. Stalo se vam nekdy neco podobneho?

Neni to cache pythonu, ale tve promenne prostredi. Obvykle pomaha neco
jako `source /etc/profile` v shellu, ze ktereho spoustis sve programy,
protoze obecne neexistuje zpusob, jak zmeny promennych prostredi
"vypropagovat" do bezicich procesu.

-jkt

--
cd /local/pub && more beer > /dev/mouth

signature.asc

Věroslav Kaplan

unread,
Mar 12, 2008, 11:43:39 AM3/12/08
to Konference PyCZ
2008/3/12 Jan Kundrát:

Já si teď nejsem jistý, jestli není po úpravě `ld.so.conf` potřeba
udělat `ldconfig` pro obnovení cache dynamického linkeru. Myslím, že
nějaké distribuce `ldconfig` po restartu dělaly, což by vysvětlovalo,
že po restartu to fungovalo.

--VK
PS: Ale chtít po mně myšlenku v 16:43 není dobrý nápad, takže prosím
laskavého čtenáře, ať to prozkoumá sám.

Jan Kundrát

unread,
Mar 12, 2008, 1:04:45 PM3/12/08
to Konference PyCZ
Věroslav Kaplan wrote:
> Já si teď nejsem jistý, jestli není po úpravě `ld.so.conf` potřeba
> udělat `ldconfig` pro obnovení cache dynamického linkeru.

Jiste, mas pravdu, byl jsem vedle. Plus je jeste potreba dat pozor na
to, ze nektere distribuce generuji ld.so.conf na zaklade jinych souboru
(coz je IMHO sikovne chovani a je to dobre zdokumentovano), ale to
bychom jiz zabihali prilis do OT. Diky za opravu.

Pekny popis toho, jak se knihovny hledaji, najdou zajemci v `man ld.so`.

signature.asc
0 new messages