python - 为什么使用 Conda 虚拟环境时回溯不引用 Python 文件?
问题描述
概括
在 pandas重命名函数中找不到关键字参数,因为我的编译器使用的是我的核心 Python,它有一个旧版本的 Pandas,即使它应该使用我的激活的 Conda 环境,它有一个带有关键字参数的更新的 Pandas 版本。我不明白为什么 Traceback 引用我的核心 Python 和 Pandas 文件夹而不是虚拟环境。
Python
df.rename(columns={
'COLUMN A':'col_a',
'COLUMN B':'col_b',},
inplace=True, errors='raise')
追溯
Traceback (most recent call last):
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\flask_login\utils.py", line 272, in decorated_view
return func(*args, **kwargs)
File "C:\Users\testuser\Programming\WebApps\testapp\app\main\routes.py", line 52, in upload
clean_usage_data(df)
File "C:\Users\testuser\Programming\WebApps\testapp\app\data\move.py", line 94, in clean_usage_data
inplace=True, errors='raise')
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\util\_decorators.py", line 197, in wrapper
return func(*args, **kwargs)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py", line 4025, in rename
return super(DataFrame, self).rename(**kwargs)
File "C:\Users\testuser\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py", line 1072, in rename
'argument "{0}"'.format(list(kwargs.keys())[0]))
TypeError: rename() got an unexpected keyword argument "errors"
错误
好的,所以回溯非常简单,errors
对于 pandas 数据框 rename 方法来说不是一个 kwarg,至少对于我的核心包中的旧版本来说不是,但是它在rename 的较新版本中。但是,我正在使用已激活的 Conda 虚拟环境(名为“nex_verify”),并带有更新的 Pandas 包(其中包含错误 kwarg,我手动检查了该包)。
正如预期的那样,我能够通过更新我的核心 pandas 包来解决这个问题。
问题
既然我使用的是我的 Conda 环境,为什么 Traceback 不是指那些文件夹,而是指 pandas 的核心包文件夹?
编辑sys.executable
无论激活虚拟环境,
我都以相同的结果进行了测试:
C:\Users\testuser\Programming\WebApps\testapp>conda activate venv
(venv) C:\Users\testuser\Programming\WebApps\testapp>
>>> import sys
>>> sys.executable
'C:\\Users\\testuser\\AppData\\Local\\Continuum\\anaconda3\\python.exe'
解决方案
推荐阅读
- javascript - 图标干扰按钮单击事件
- javascript - Angular 6,滚动到顶部
- ios - 如何设置导航栏右栏项目按钮的突出显示调整图像属性
- c++ - RcppNumerical 给出的积分结果与 R 完全不同
- dji-sdk - 使用 RC 摇杆命令覆盖 OSDK 飞控命令
- c# - 将 JSON 骆驼案例转换为蛇案例(反之亦然)并将数值字符串化
- windows - appcmd 不全局设置网站允许的文件扩展名
- java - Docker OpenJDK-8 JavaFx
- postgresql - 插入或选择并返回密钥
- typescript - mat-tab-nav-bar 选项卡未显示