我陷入了一些可怕的virtualenv混乱中。帮帮我?!
我用conda
管理环境。直到最近,我只有一个python2的jupyter笔记本内核,但是我决定把自己踢着踹着拖进21世纪,并安装了python3内核;我忘了我是怎么做的。
我的主要(anaconda) python默认为2.7。
所以这里我正在愉快地尝试从我闪亮的新python3内核中使用beautiful soup,但似乎无法做任何事情来获取它发现软件包的任何环境。即(所有来自笔记本):
from bs4 import BeautifulSoup
-> ImportError: No module named 'bs4'
好的,没问题,我将使用shell魔法进行安装。对吧?对吧?
! pip install bs4
--> Collecting bs4
Downloading bs4-0.0.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages (from bs4)
[...]
Successfully built bs4
Installing collected packages: bs4
Successfully installed bs4-0.0.1
from bs4 import BeautifulSoup
-> ImportError: No module named 'bs4'
糟糕了,难道它认为我在一个2.7环境中,即使我正在运行Python3内核?那是不行的。
! conda info --envs
--> # conda environments:
#
flaskenv /Users/[MY-USER]/anaconda/envs/flaskenv
mesa /Users/[MY-USER]/anaconda/envs/mesa
py35 /Users/[MY-USER]/anaconda/envs/py35
root * /Users/[MY-USER]/anaconda
好的,我可以修复这个问题。其中一个是3.5环境。
! source activate py35
--> prepending /Users/[MY-USER]/anaconda/envs/py35/bin to PATH
! conda install beautifulsoup4
--> Fetching package metadata .......
Solving package specifications: ..........
# All requested packages already installed.
# packages in environment at /Users/[MY-USER]/anaconda:
#
beautifulsoup4 4.4.1 py27_0
关于...
! pip install bs4
--> Requirement already satisfied (use --upgrade to upgrade): bs4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages
更令人担忧的是...
from bs4 import BeautifulSoup
-> ImportError: No module named 'bs4'
啊!头撞桌我是否需要杀掉内核才能解决这个问题(并重新运行一些工作)?杀死内核甚至有效吗?我如何让我的Jupyter内核知道它应该在什么环境下运行?
谢谢!