在跟踪本教程由tds编写时,我决定通过pipenv实现,因为我在macos上。我成功地完成了大部分工作,但我始终遇到一个错误,表明我不明白pipenv是如何建立一个环境的。具体地说,它是如何运行脚本的。它似乎恢复到依赖我的系统python (2.7),甚至在pipenv shell中也是如此。( parse_gpx.py是主要的python文件,而2021-0622run.gpx是将要分析的gpx格式文件)
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pandas/__init__.py", line 25, in <module>
from pandas import hashtable, tslib, lib
ImportError: dlopen(/Library/Python/2.7/site-packages/pandas/hashtable.so, 2): Symbol not found: _PyCObject_Type
Referenced from: /Library/Python/2.7/site-packages/pandas/hashtable.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/pandas/hashtable.so
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "parse_gpx.py", line 5, in <module>
import pandas as pd
File "/Library/Python/2.7/site-packages/pandas/__init__.py", line 31, in <module>
"extensions first.".format(module))
ImportError: C extension: dlopen(/Library/Python/2.7/site-packages/pandas/hashtable.so, 2): Symbol not found: _PyCObject_Type
Referenced from: /Library/Python/2.7/site-packages/pandas/hashtable.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/pandas/hashtable.so not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first.我的问题是:为什么"pipenv“看起来像是在系统python中,而不是停留在它自己的”box“中呢?不就是pipenv的全部意义吗?我有没有可能配置错了什么东西?我确实有一些问题,设置它(包括双安装和其他事情),这就是为什么我不确定这种行为是出于设计,还是我以前的拙劣安装的残余。
任何帮助,指出我的文档,解释是怎么回事,将不胜感激!
最后,如果这是在错误的地方,很抱歉。我试着寻找最好的地方问这个,也检查是否有人问过这个问题。
谢谢!
发布于 2021-07-02 13:29:35
首先,您是否也安装了PyEnv?没有PyEnv,PipEnv就无法为您安装所需的Python版本。
其次,当您创建环境时,您记得指定Python版本吗?若要使用最新的Python3版本创建环境,请使用pipenv --three。
https://stackoverflow.com/questions/68139660
复制相似问题