我有问题,那就是我在挣扎。我将python(anaconda)用于某些代码。我目前正在从openCV进行教程。
每次需要安装新软件包时,我都会创建env。这些是我正在执行的步骤:
创建新环境
conda install -c menpo opencv3=3.2.0
conda list
(确保已安装版本3.2.0)
然后我去python检查版本:
python
import cv2
cv2.__version__
'4.0.0'
问题是每次我尝试检查是否使用3.2版本时,都会出现问题。显示4.0.0版本。顺便说一句,安装了3.2.0版本,因为conda列表显示了它,甚至没有显示4.0.0版本。
任何人都知道为什么会这样吗?
谢谢
答案 0 :(得分:0)
建议创建一个conda环境并在激活的环境中进行安装。这样软件包之间就不会有冲突。这对我来说很好。
请尝试以下步骤。
1)创建conda环境:
[x for x in s.split('|') if x.startswith('conf/')
这里的env_name可以是为conda环境指定的任何名称。
例如:
def find_between(s, start, end):
for x in s.split('|'):
if x.startswith(start):
# yield here will allow you to iterate
# over the function
yield x.split(start)[1].split(end)[0]
s='conf/icdcs/BarbaraGS86|conf/icdcs/ShethL86|conf/icde/BhargavaMRS89|conf/icde/BhargavaNS88|conf/icde/BhargavaR88|conf/icde/ElmagarmidH88|conf/infocom/BadalM84|conf/sigmod/Skeen81|conf/sosp/PresottoM83|conf/vldb/Gray81|journals/cacm/EswarranGLT76|journals/cacm/Lamport78|journals/computer/Alexandridis86|journals/computer/Goguen86|journals/computer/KartashevK86|journals/csur/BernsteinG81|journals/csur/DavidsonG85|journals/csur/Kohler81|journals/jacm/Papadimitriou79b|journals/tc/Avizinis76|journals/tc/Garcia-Molina82|journals/tocs/BirrelN84|journals/tocs/CheritonZ85|journals/tocs/Reed83|journals/tods/Herlihy87|journals/tods/KungR81|journals/tse/BhargavaR89|journals/tse/BlackHJLC87|journals/tse/Randell75|journals/tse/SkeenS83'
start = 'conf/'
end = '/'
a = [x for x in find_between(s, start, end)]
# ['icdcs', 'icdcs', 'icde', 'icde', 'icde', 'icde', 'infocom', 'sigmod', 'sosp', 'vldb']
2)激活环境:
conda create -n <env_name> python=3.4 -y
例如:
conda create -n opencv_test python=3.4 -y
3)然后,您可以在此激活的环境中继续进行opencv安装。
source activate <env_name>
然后尝试导入。希望这会有所帮助。