【发布时间】:2018-02-24 04:09:28
【问题描述】:
我想在 python 3 anaconda 上使用“openface”模块。 所以我提到了这里。
https://github.com/samotiian/Installing_openface_with_anaconda
我不知道为什么,但似乎这些模块安装在我现有的 python 上,而不是 anaconda 环境。
当我从 python(不是 anaconda 环境)导入这些模块时,它运行良好。
unknownpgr@unknownpgr:~$ python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sklearn
>>> import openface
>>>
但是从anaconda环境导入时会出现这样的错误。
(opencv) unknownpgr@unknownpgr:~$ python
Python 3.6.3 | packaged by conda-forge | (default, Nov 4 2017, 10:10:56)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import openface
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'openface'
>>> import sklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sklearn'
>>>
所以我的问题是: 我如何将这些模块从现有环境移动到 anaconda?
(对不起,我英语不好。但也许你能明白我想说的话。)
重新安装后,我发现问题出在工作目录上。 我正在处理 /home/openface,所以我将“openface”移动到 ~/anaconda3/envs/myenvironmet/ 而且效果很好。
(我是linux和python编程的新手,所以我不知道为什么。如果你知道为什么python模块导入是目录依赖于目录,请告诉我。)
【问题讨论】:
-
您可以使用 2 个路径设置 PYTHONPATH 变量。一个将指向您的默认 python 分发路径,另一个指向 anaconda。这样,如果您启动 anaconda Python 并导入一些不存在的库,那么它接下来会查看默认的 Python 分发路径。
-
不要移动任何东西。只需在正确的位置正确重新安装即可。
-
@MadPhysicist 你能详细解释一下吗?你的意思是我应该在激活 anaconda 环境后运行 setup.py 吗?
-
是的,这正是你应该做的
-
@MadPhysicist 非常感谢。解决了,很简单。