将Python模块从现有环境移动到Anaconda

3

我想在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 模块导入与目录有关。如果您知道原因,请告诉我。)


你可以设置PYTHONPATH变量,其中包含两个路径。一个指向默认的Python分发路径,另一个指向Anaconda路径。这样,如果你启动Anaconda Python并导入某些库,而该库不存在,则会查找默认的Python分发路径。 - Sunnysinh Solanki
不要移动任何东西。只需在正确的位置重新安装即可。 - Mad Physicist
@MadPhysicist,您能详细解释一下吗? 您的意思是在激活Anaconda环境后应该运行setup.py吗? - Unknownpgr
是的,那正是你应该做的。 - Mad Physicist
@MadPhysicist 非常感谢。问题已经解决,非常简单。 - Unknownpgr
2个回答

2

我猜安装时你没有激活你的Anaconda环境。在激活你的Anaconda环境后,重复这些步骤。


0

只需从中复制包文件夹

PYTHONHOME/lib/site-packages

ANACONDAHOME/lib/site-packages

应该可以。对我来说有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接