软件包无法正确安装到Python环境

时间:2019-06-16 14:25:48

标签: python anaconda

我正在尝试将PyJWT软件包安装到环境中,但是遇到了似乎已安装的问题,可以在python中导入该软件包,但该软件包为空。

我从Windows命令行执行以下操作:

activate my-env

,我看到命令提示符通过显示(my-env)反映了更改 然后我发出

pip -install PyJwt

表示成功。所以现在我运行python并尝试

import jwt
dir(jwt)

导入有效,但是dir()提供以下输出:

['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__']

但是,如果我没有先选择环境,即我在没有先激活环境的情况下进行了pip install,则安装可以正常进行,并且当我在软件包上运行dir时,我会看到正确的输出:

['DecodeError', 'ExpiredSignature', 'ExpiredSignatureError', 'ImmatureSignatureError', 'InvalidAlgorithmError', 'InvalidAudience', 'InvalidAudienceError', 'InvalidIssuedAtError', 'InvalidIssuer', 'InvalidIssuerError', 'InvalidSignatureError', 'InvalidTokenError', 'MissingRequiredClaimError', 'PyJWS', 'PyJWT', 'PyJWTError', '__author__', '__builtins__', '__cached__', '__copyright__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__title__', '__version__', 'algorithms', 'api_jws', 'api_jwt', 'compat', 'decode', 'encode', 'exceptions', 'get_unverified_header', 'register_algorithm', 'unregister_algorithm', 'utils']

当然,问题是该软件包现在在我要使用它的环境中不可用。

关于我为解决这种情况所做的任何建议?

2 个答案:

答案 0 :(得分:1)

您实际上是在尝试使用该程序包并遇到错误,还是只是在查看dir(...)的输出并认为出了问题?也许conda环境中的Python版本使用了延迟加载,而conda之外的Python版本则没有进行延迟加载。

由于您正在使用Anaconda,请考虑将PyJWT with conda而不是pip安装到您的环境中。这应该自动解决所有依赖关系:

conda activate my-env
conda install pyjwt

答案 1 :(得分:0)

试试这个:

在安装之前,您需要使用以下命令删除软件包:

apt-get remove python3-jwt

在这种情况下,安装程序将使用以下命令安装软件包:

pip3 install pyjwt