2016-08-30 60 views
3

我在我的智慧在Solaris上python3到此爲止報告exec_prefix作爲/usr/lib,而不是/usr的Python 3 sys.exec_prefix錯誤

這是使用setup_tools和的virtualenv時導致的種種不良行爲,因爲他們正在尋找/usr/lib/lib/python3.4的圖書館,這顯然是錯誤的。

我們已經在Solaris 11上同時安裝了python2和python3軟件包.Python2工作正常,而python3報告錯誤的exec_prefix。請看下圖:

bash-4.1$ env 
    TERM=xterm 
    PATH=/usr/bin:/bin:/usr/sbin:/sbin 
    PWD=/home/user 
    SHLVL=1 
    _=/usr/bin/env 
    bash-4.1$ type -a python3.4 
    python3.4 is /usr/bin/python3.4 
    python3.4 is /bin/python3.4 
    bash-4.1$ type -a python3.4-config 
    python3.4-config is /usr/bin/python3.4-config 
    python3.4-config is /bin/python3.4-config 
    bash-4.1$ python3.4-config --exec-prefix 
    /usr 
    bash-4.1$ python3.4 -c 'import sys; print(sys.path)' 
    ['', '/usr/lib/python34.zip', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-sunos5', '/usr/lib/python3.4/lib-dynload/64', '/usr/lib/python3.4/site-packages', '/usr/lib/python3.4/vendor-packages'] 
    bash-4.1$ python3.4 -c "import sys; print(sys.prefix, sys.exec_prefix)" 
    /usr /usr/lib 
    bash-4.1$ grep CONFIG_ARGS /usr/lib/python3.4/config-3.4m/Makefile 
CONFIG_ARGS=  'CC=cc -m64 -xO4 -xtarget=ultra2 -xarch=sparcvis 
    -xchip=ultra2 -Qoption cg -xregs=no%appl -W2,-xwrap_int 
    -xmemalign=16i -mt -KPIC -DPIC -xO5 ' 'CXX=CC' '--prefix=/usr' 
    '--mandir=/usr/share/man' '--bindir=/usr/bin/sparcv9' 
    '--libdir=/usr/lib/sparcv9' '--sbindir=/usr/sbin/sparcv9' 
    '--infodir=/usr/share/info' '--enable-shared' '--with-dtrace' 
    '--with-system-expat' 
    '--with-system-ffi' '--without-gcc' '--without-ensurepip' 
    '--enable-ipv6' '--bindir=/usr/bin' 'CPPFLAGS=-IPython 
    -I/usr/include/ncurses -D_LARGEFILE64_SOURCE 
    -I/usr/lib/libffi-3.0.9/include ' 'LDFLAGS=-m64 -KPIC -DPIC 
    -xO5 ' 'CFLAGS=-m64 -xO4 -xtarget=ultra2 -xarch=sparcvis 
    -xchip=ultra2 -Qoption cg -xregs=no%appl -W2,-xwrap_int 
    -xmemalign=16i -mt -KPIC -DPIC -xO5 ' 'DFLAGS=-64' 
    'XPROFILE_DIR=../build/sparcv9/.profile' 

我已經通過Python文檔,多個論壇和Q & A位,site.py看,甚至getpath.c本身。沒有什麼解釋這種行爲

如果我從源代碼構建python3,它可以正常工作。然而,這不是一種選擇,因爲我不是提供服務器的人,而且這個問題出現在我們希望保持一致的官方Solaris軟件包本身。

TL; DR - 爲什麼sys.exec_prefix報告的是/usr/lib而不是/usr

+0

聽起來像官方Solaris軟件包中的一個bug。你有這樣的報道嗎? –

回答

2

這看起來像的Solaris錯誤:

21622699的Python 3.4軋液sys.exec_prefix,休息VIRTUALENV

這是在Solaris 12,但至今還沒有回移植到11.3;我會看到實現這一目標的過程。

+0

你有一個鏈接到該錯誤系統? –

+0

如果(你有支持合同)也許{use support.oracle.com} else {sorry,no} –