如何更改ipython内核的python路径?

2024-09-29 19:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做分析,我打算把我的脚本重组成一个包。我的目录结构如下:

project
|   README.md
|   setup.py
|   requirements.txt
|
└───data
└───notebooks
|     notebook_A.ipynb
|
└───my_package
    |   __init__.py
    |
    └───module_A
    |    __init__.py
    |    source_A.py
    |
    └───module_B
        __init__.py
        source_B.py

首先,我要和康达一起创造一个环境:

conda create my_environment

然后,我们的目标是使my_package在笔记本中可导入,而不丧失编辑源代码的能力。所以我将运行:

^{pr2}$

这正如预期的那样工作,并创造了:

/Applications/anaconda3/envs/my_environment/lib/python3.6/site-packages/my_package.egg-link

然后我要检查一切正常:

$ (my_environment) cd notebooks

在ipython中一切正常:

$ (my_environment) ipython


In [1]: import src
In [2]: src.__path__
Out[2]: ['/Users/jalmarituominen/Desktop/my_environment_project/src']

但是当我运行jupyter笔记本并用我的环境内核运行它时,我得到

import sys
sys.path
[1]:
['',
'/Applications/anaconda3/lib/python36.zip',
'/Applications/anaconda3/lib/python3.6',
'/Applications/anaconda3/lib/python3.6/lib-dynload',
'/Applications/anaconda3/lib/python3.6/site-packages',
'/Applications/anaconda3/lib/python3.6/site-packages/aeosa',
'/Applications/anaconda3/lib/python3.6/site-packages/IPython/extensions',
'/Users/jalmarituominen/.ipython']

显然,我无法导入我的包,因为它不在路径中。在

但是,当我将内核更改为Python 3时,我得到:

import sys
sys.path
[1]:
['/Applications/anaconda3/envs/my_environment/lib/python36.zip',
'/Applications/anaconda3/envs/my_environment/lib/python3.6',
'/Applications/anaconda3/envs/my_environment/lib/python3.6/lib-dynload',
'',
'/Applications/anaconda3/envs/my_environment/lib/python3.6/site-packages',
'/Users/jalmarituominen/Desktop/my_environment_project',
'/Applications/anaconda3/envs/my_environment/lib/python3.6/site-packages/IPython/extensions',
'/Users/jalmarituominen/.ipython']

我的包是可导入的。在

由于某些原因,这两个环境的路径是混淆的。你知道怎么解决这个问题吗?可以手动更改内核的路径吗?在


Tags: pyprojectpackageenvironmentmylibpackagesipython
1条回答
网友
1楼 · 发布于 2024-09-29 19:27:56

我希望Jupyter在这里做些事情,让环境的变化变得简单。为了得到正确的结果,我这样做了:

$ conda activate my_env
$ (my_env) conda install ipykernel -y
$ (my_env) python -m ipykernel install  user  name my_env  display-name "My Env"

然后我确保我有正确的Python路径到我的env

^{pr2}$

这给了我环境核心的位置。其中有一个.json设置文件,您可以编辑路径以更正Python、显示名和其他内容。在

在这之后,我可以在内核之间切换。在

相关问题 更多 >

    热门问题