无法在虚拟环境中导入模块

1 投票
2 回答
6541 浏览
提问于 2025-04-18 21:32

我刚接触Python和网页开发。我创建了一个Python项目,现在想要导入一个外部库。

我想导入apns-client这个库,以下是我做的步骤:

  1. https://pypi.python.org/pypi/apns-client下载并解压这个包。
  2. 在命令行中安装这个包:

    $ cd apns-client-0.2.1  
    $ /Users/myuser/env/bin/python setup.py install  
    

    安装过程运行得很顺利,看起来成功完成了:

    running install  
    running bdist_egg  
    running egg_info  
    writing requirements to apns_client.egg-info/requires.txt  
    ..  
    ..  
    ..  
    Installed /Users/myuser/env/lib/python2.7/site-packages/pycparser-2.10-py2.7.egg
    Finished processing dependencies for apns-client==0.2.1  
    

    这里的env是一个虚拟环境文件夹,里面是我的项目。

但是如果我在我的脚本中添加import apnsclient并尝试运行,就会出现错误:

 No module named apnsclient.

我漏掉了什么吗?

更新

我使用的是PyCharm,项目解释器指向了一个不同的Python安装:

/Library/Framework/Python.framework/3.4/bin/python3

我把路径改成了~/env,但随后出现了以下错误:

模块加载失败
Python 2.7.8虚拟环境在~/env
- Nav
上述模块的骨架生成将在模块更新或新版本生成器可用时再次尝试。

2 个回答

1

首先激活你的虚拟环境,然后安装apans-client:

 $ cd /Users/myuser/env
 $ source bin/activate
 $ cd /path/to/apns-client-0.2.1  
 $ python setup.py install # Activating the virtualenv should ensure correct python is used
2

我在用PyCharm,感谢这里大家的评论,我发现项目的解释器指向了一个和我在~/env里的Python安装不同的地方。

在我修改之后,问题就解决了。

撰写回答