问题描述
我使用了支持 PEP582 的 python 包管理器 (PyFlow/PDM):包安装在本地目录 {workspace_path}/__pypackages__/
中。
我在 settings.json
中添加了一些配置,让 VSCode 知道如何找到包:
{
...,"python.autoComplete.extraPaths": [
"__pypackages__/3.7lib"
],"python.analysis.extraPaths": [
"__pypackages__/3.7/lib"
]
}
# main.py
#%% jupyter cell
import sys
print(sys.path)
import pandas as pd
print(pd.__version__)
#%%
print("hello world")
我以两种方式运行我的 main.py
:
- 使用 VSCode (
ctrl + opt + N
) 运行文件 - 运行 jupyter cell with ipykernel (
shift + enter
)。 VSCode 第一次让我安装 ipykernel,结果是用pip
安装的,没有安装到__pypackages__
。
但它失败并显示:ModuleNotFoundError: No module named 'pandas'
。
我使用 sys.path
检查搜索路径,它不包含 __pypackages__
用于 Python 模块:
['{$HOME}/{workspace}','{$HOME}/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/pythonFiles','{$HOME}/.vscode/extensions/ms-toolsai.jupyter-2021.5.745244803/pythonFiles/lib/python','{$HOME}/.pyenv/versions/3.7.10/lib/python37.zip','{$HOME}/.pyenv/versions/3.7.10/lib/python3.7','{$HOME}/.pyenv/versions/3.7.10/lib/python3.7/lib-dynload','','{$HOME}/{workspace}/.venv/lib/python3.7/site-packages','{$HOME}/{workspace}/.venv/lib/python3.7/site-packages/IPython/extensions','{$HOME}/.ipython']
我的问题:
- 如何配置
settings.json
以添加 Python 模块的搜索路径 (__pypackages__/3.7lib
)。 - 如何配置
settings.json
以让 VSCode Jupyter 服务器在__pypackages__/3.7lib
中安装了 ipykernel 的情况下启动 IPython
解决方法
Dim olApp As Outlook.Application
Dim oDialog As SelectNamesDialog
Dim oGAL As AddressList
Dim myAddrEntry As AddressEntry
Dim exchUser As Outlook.ExchangeUser
Dim AliasName As String
Dim FirstName As String
Dim LastName As String
Dim EmailAddress As String
Set olApp = GetObject(,"Outlook.Application")
Set oDialog = olApp.Session.GetSelectNamesDialog
Set oGAL = olApp.GetNamespace("MAPI").AddressLists("Global Address List")
With oDialog
.AllowMultipleSelection = False
.InitialAddressList = oGAL
.ShowOnlyInitialAddressList = True
If .Display Then
AliasName = oDialog.Recipients.Item(1).Name
Set myAddrEntry = oGAL.AddressEntries(AliasName)
Set exchUser = myAddrEntry.GetExchangeUser
If Not exchUser Is Nothing Then
ThisName = exchUser.Name
FirstName = exchUser.FirstName
LastName = exchUser.LastName
EmailAddress = exchUser.PrimarySmtpAddress
'...
TextBox1.Value = ThisName
End If
End If
End With
Set olApp = Nothing
Set oDialog = Nothing
Set oGAL = Nothing
Set myAddrEntry = Nothing
Set exchUser = Nothing
在 settings.json 中试试这个