Python 2.7 无法导入python=2.7的yaml-anaconda虚拟环境
对于其中一个项目,我创建了anaconda虚拟环境 我安装了pyyaml,它似乎安装正确:Python 2.7 无法导入python=2.7的yaml-anaconda虚拟环境,python-2.7,anaconda,yaml,Python 2.7,Anaconda,Yaml,对于其中一个项目,我创建了anaconda虚拟环境 我安装了pyyaml,它似乎安装正确: conda list # packages in environment at /home/<myname>/anaconda3/envs/Alex: # # Name Version Build Channel autobahn 18.5.1 &
conda list
# packages in environment at /home/<myname>/anaconda3/envs/Alex:
#
# Name Version Build Channel
autobahn 18.5.1 <pip>
Automat 0.6.0 <pip>
backports.functools-lru-cache 1.5 <pip>
ca-certificates 2018.03.07 0
certifi 2018.4.16 py27_0
constantly 15.1.0 <pip>
Cython 0.23.5 <pip>
enum34 1.1.6 <pip>
Flask 1.0.2 <pip>
hyperlink 18.0.0 <pip>
incremental 17.5.0 <pip>
ipdb 0.11 <pip>
ipython 5.7.0 <pip>
kiwisolver 1.0.1 <pip>
libedit 3.1.20170329 h6b74fdf_2
libffi 3.2.1 hd88cf55_4
libgcc-ng 7.2.0 hdf63c60_3
libstdcxx-ng 7.2.0 hdf63c60_3
matplotlib 2.2.2 <pip>
ncurses 6.1 hf484d3e_0
numpy 1.14.3 <pip>
openssl 1.0.2o h20670df_0
pip 10.0.1 <pip>
pip 10.0.1 py27_0
pockets 0.6.2 <pip>
protobuf 3.5.2.post1 <pip>
PyAudio 0.2.11 <pip>
pyga 2.5.1 <pip>
pysqlite 2.8.3 <pip>
pystache 0.5.4 <pip>
python 2.7.15 h1571d57_0
python-Levenshtein 0.12.0 <pip>
**pyyaml 3.12 py27h2d70dd7_1**
请看带星号的一行,我使用的环境中python设置为2.7,但包是从3.6版的站点包导入的
我该如何解决这个问题
编辑\u 1:
只有对于这个包,路径解析是错误的,对于其他包,它指向python=2.7/site-packages
>>> import pyga
>>> pyga.__path__
['/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/pyga']
>>> import pockets
>>> pockets.__path__
['/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/pockets']
>>> import scipy
>>> scipy.__path__
['/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/scipy']
>>>
如您所见,
python3.6/site-packages
出现在python2.7/site-packages
之前,因此如果在那里找到了包,则将使用它。我不确定这是怎么发生的,但作为一个快速的黑客,有没有办法事先编辑sys.path
,以便搜索python2.7/站点包
输入:(参考表格)
然后
>>> import yaml
>>> yaml.__path__
['/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/yaml']
>>>
>>导入yaml
>>>亚姆路__
['/home//anaconda3/envs/Alex/lib/python2.7/site packages/yaml']
>>>
可能重复@Anthon,依我看,这不是重复,因为问题没有给出关于PYTHONPATH的直接线索。但是如果你有足够的票数来结束它,我不介意。
>>> import sys
>>> sys.path
['', '/home/<myname>/anaconda3/lib/python3.6/site-packages',
'/home/<myname>/anaconda3/envs/Alex/lib/python27.zip',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/plat-linux2',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/lib-tk',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/lib-old',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/lib-dynload',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages',
'/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/pysox-0.3.6a0-py2.7-linux-x86_64.egg']
unset PYTHONPATH
>>> import yaml
>>> yaml.__path__
['/home/<myname>/anaconda3/envs/Alex/lib/python2.7/site-packages/yaml']
>>>