5

私はこれを見て、次のコードを試しました:

ln -s /usr/lib/python2.7/dist-packages/pygtk.pth tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gobject tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gtk-2.0 tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/pygtk.pth tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/glib tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/gi tools/python_2_7_9/lib/python2.7/site-packages/
ln -s /usr/lib/python2.7/dist-packages/pygtkcompat tools/python_2_7_9/lib/python2.7/site-packages/

、しかし、import glibまたはimport giまだエラーが発生します:

yba@ubuntu:~/Documents/XXX/tools$ source python_2_7_9/bin/activate
(python_2_7_9) yba@ubuntu:~/Documents/XXX/tools$ python
Python 2.7.9 (default, Aug 29 2016, 16:04:36) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import glib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/yba/Documents/XXX/tools/python_2_7_9/lib/python2.7/dist-packages/glib/__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: /home/yba/Documents/XXX/tools/python_2_7_9/lib/python2.7/dist-packages/glib/_glib.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8
>>> import gi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/yba/Documents/XXX/tools/python_2_7_9/lib/python2.7/dist-packages/gi/__init__.py", line 36, in <module>
    from ._gi import _gobject
ImportError: /home/yba/Documents/lucida/tools/python_2_7_9/lib/python2.7/dist-packages/gi/_gi.so: undefined symbol: PyUnicodeUCS4_FromUnicode
>>> 

その投稿と同様に、システム全体の python は正常に動作します。

yba@ubuntu:~$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>> import glib
>>> 

この問題を解決するには?また、私が本当に必要としているのimport gi.repositoryは、import gi. どうもありがとう!

4

3 に答える 3

-2

まず第一に、仮想環境で使用される Python (2.7.9) はシステム全体の Python (2.7.6) と同じではないため、それらを比較する意味がわかりません。 .

できることの 1 つは、仮想環境を最初から作成することですが、-pフラグを使用して、使用する Python バージョンを示します。このような:

virtualenv -p /usr/bin/python2.7 <virtualenv/new/path/>

次に、undefined symbol: PyUnicodeUCS4_FromUnicodeバージョン 2.7.9 で報告されているエラーは、Python ソースの不適切なコンパイルに関連している可能性があります。それらをもう一度コンパイルしてみてください。ただし、次の行の--enable-unicode=ucs4オプションに注意してください。./configure

$> tar -xf Python-2.7.6.tar
$> cd Python-2.7.6
$> ./configure --prefix=/usr/local --enable-shared --enable-unicode=ucs4
$> make && make altinstall
于 2016-11-18T07:33:52.573 に答える
-2

You need to install the necessary modules on your virtual environment.

After activating it, you have to pip install <library name>. In your case, it should be pip install gi

于 2016-08-29T20:54:53.453 に答える