我一直试图从我创建的conda环境中使用jupyter笔记本中的MySQL数据库。
我的第一次尝试不起作用,在这里:
trackBy
sqlalchemy
mysql-connector-python
我已尝试安装它们,其中一些使用pymysql
,其中一些使用conda install
,总是使用我已激活的环境,我也从中启动了我的jupyter笔记本实例
我得到的行为总是一样的:在安装软件包之后,我可以运行一个交互式pip
会话,在其中,我可以正确导入软件包并使用它们,甚至可以从数据库中获取结果。但是,当我从笔记本电脑上做到这一点时,找不到任何模块,而这就是我被困住的地方。
我看到的一些旧帖子提到它们不适用于Python 3.x或Windows或64位系统,但这些答案大约在2016年,因此它们会更新,并且包的conda描述声称它们在我的Windows 10,x64,python = 3.6环境中正常工作(或者我解释了)。
环境:
python
:
conda list
(某些mysql软件包不存在,因为在尝试失败后,我删除了它们。)
如何让笔记本找到模块以便连接到MySQL?
答案 0 :(得分:1)
通过Chris在评论中提供的链接,我能够弄明白。 (非常感谢!)
第一步是验证jupyter正在环境安装它们的同一个地方寻找笔记本电脑。一个简单的方法是:
在控制台上:
activate myEnv
python
>>> import sys
>>> sys.executable
'C:\\Users\\myUser\\Anaconda3\\envs\\myEnv\\python.exe'
里面的jupyter:
import sys
sys.executable
'C:\\Users\\myUser\\Anaconda3\\python.exe'
正如您所看到的,在这种情况下,jupyter正在运行环境的外部,这就是为什么它没有找到已安装的软件包。
然后 - 为什么会发生这种情况?我在启动jupyter之前激活了环境。我是否有可能无意中运行错误版本的Jupyter?
where jupyter
C:\Users\myUser\Anaconda3\Scripts\jupyter.exe
啊 - 我正在运行一个错误版本的jupyter。那一定是因为我没有在环境中安装的jupyter。
conda install jupyter
# ... installation process ...
where jupyter
C:\Users\myUser\Anaconda3\envs\myEnv\Scripts\jupyter.exe
C:\Users\myUser\Anaconda3\Scripts\jupyter.exe
现在,环境jupyter可执行文件应该优先。执行jupyter后,行为符合预期,sys.executable
返回预期路径。