windows - Python 无法导入使用 pip venv 安装的库
问题描述
我查看了几篇文章和文章,但似乎找不到解决方案。我需要将jenkspy 用于特定任务,但我的Python3x 安装了一个名为ArcGIS Pro 的软件,该软件指定了默认的python 环境“只读”,这意味着未随它安装的软件包必须安装在虚拟环境中。
所以,我打开命令行并运行:
py -m venv env
py -m pip install jenkspy --user
如果我继续从命令窗口运行 python,我可以导入 jenkspy 没问题。但是,当我尝试将其导入 iPython 或将其作为脚本加载到 pythonWin 中时,我得到:
import jenkspy
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'jenkspy'
所以我回到命令窗口并运行 python 来定位 jenkspy 的路径:
import sys
print (sys.path)
返回:
['', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\Lib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\Lib\\idlelib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\python37.zip', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\DLLs', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\lib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64', 'C:\\Users\\johnsmith\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\lib\\site-packages']
我在这个环境中导航到本机 idle.py 文件并导入 jenkspy。没问题。我从空闲控制台打印 sys.path 。与命令行中的结果相同。
然后我回到 iPython 并运行:
import sys
paths = ['C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\Lib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\Lib\\idlelib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\python37.zip', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\DLLs', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\lib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64', 'C:\\Users\\johnsmith\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\lib\\site-packages']
for p in paths:
sys.path.append(p)
接着:
import jenkspy
我得到这个错误:
ImportError Traceback (most recent call last)
<ipython-input-19-88ab181dc114> in <module>
----> 1 import jenkspy
~\AppData\Roaming\Python\Python37\site-packages\jenkspy\__init__.py in <module>
3 __version__ = "0.1.5"
4
----> 5 from .core import jenks_breaks
6
7
~\AppData\Roaming\Python\Python37\site-packages\jenkspy\core.py in <module>
7 from math import isinf, isnan
8 isfinite = lambda x: not isinf(x) and not isnan(x)
----> 9 from . import jenks
10 try:
11 import numpy as np
ImportError: cannot import name 'jenks'
我需要做什么才能使用独立脚本和//iPython 导入 jenkspy 或其他 python 安装包/模块?
解决方案
推荐阅读
- azure - 调用 APIM 管理器 API 失败
- php - 如果 user_id 和 post_id 相同,如何从我的数据库中删除一个赞?
- sonarqube - 无法将 SonarQube 与 SQL 服务器连接
- spring - 为什么我的 Spring 导入语句不起作用?
- ios - SCNLevelOfDetails 委托/通知
- oracle - Oracle DB Developer 导入 .dmp 时出错
- sql - 了解引用触发操作的工作原理
- unity3d - 如何从中间点开始 Vector3.Lerp?
- php - 在编辑器上更新 header.php 时,Wordpress 主题崩溃
- angularjs - 不能在 angular.js 中工作 ng-click,为什么我不明白