python3是我本地的Python 版本,而python3.4是系统版.我可以用python3.4导入gi模块(可能是因为我用sudo apt-get install python3-gi安装了它),但python3看不到:

$ python3 -c 'import gi'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'gi'
$ python3.4 -c 'import gi'                                       

$ python3 --version
Python 3.5.1 :: Anaconda 4.0.0 (64-bit)
$ python3.4 --version
Python 3.4.3
$ which python3
/home/kossak/anaconda3/bin/python3
$ which python3.4
/usr/bin/python3.4
$

我应该如何为Anaconda python安装gi?或者我可以导入系统级模块?

我的操作系统:

System:    Kernel: 3.19.0-32-generic x86_64 (64 bit gcc: 4.8.2) Desktop: Cinnamon 2.8.8 (Gtk 2.24.23) dm: mdm
           Distro: Linux Mint 17.3 Rosa

推荐答案

以下是您的操作方式:(LinuxMint和python3的示例)

首先使用发行版软件包管理器安装gi模块.对于Linux Mint来说,它将是:

sudo apt-get install python3-gi

然后运行发行版python判断模块的位置:

$ /usr/bin/python3
Python 3.5.2 (default, Sep 10 2016, 08:21:44)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>> print(gi)
<module 'gi' from '/usr/lib/python3/dist-packages/gi/__init__.py'>

所以在我的例子中,模块gi被安装到了/usr/lib/python3/dist-packages/gi.假设您在/home/kossak/anaconda3中安装了anaconda,请在适当的文件夹中创建指向gi模块的链接:

ln -s /usr/lib/python3/dist-packages/gi /home/kossak/anaconda3/lib/python3.5/site-packages/

如果您有一个虚拟环境,并且希望gi模块在那里可用,那么路径应该有所不同.假设虚拟环境称为测试:

ln -s /usr/lib/python3/dist-packages/gi /home/kossak/anaconda3/envs/TEST/lib/python3.5/site-packages/

它是有效的:

$ python3
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>

Python-3.x相关问答推荐

Pandas groupby基于索引的连续列值相等

Numba编译时间呈指数级增长--可以像C编译器一样配置优化级别吗?

CSV-DAT 转换时将引号添加到数据中

删除列表中的第二个出现

如何将多输入数据加载器传递给单输入模型

在新数据帧上自动提取两个字符串 python 之间的相等性

如何使用 Selenium 和 Python 作为线程来使用事件(Chrome-Developer-Tools)?

使用 selenium 加速网页抓取

如何在python 3.10中将列表项(字符串类型)转换为模块函数

是否可以将多个 if 转换为数组?

在初始化之前禁用`__setattr__`的干净方法

Python从base64转换为二进制

python3:字节与字节数组,并转换为字符串和从字符串转换

在 Python 3.5 中使用 aiohttp 获取多个 url

在 sklearn.decomposition.PCA 中,为什么 components_ 是负数?

如何使用python将放置在多个嵌套文件夹中的文档移动和重命名为一个新的单个文件夹?

变量类型注解NameError不一致

pdfminer python 3.5

如何删除目录? os.removedirs 和 os.rmdir 是否只用于删除空目录?

python asyncio add_done_callback 与 async def