各位大牛,无法导入模块,这是为撒啊?

2015-05-06 21:29:38 +08:00
 redhatping
```python
import printlist
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named printlist

发现错误,但是自己pip freeze

有自己的模块, printlist

printlist==1.0.0

什么原因啊? 大牛们,帮帮看看
3507 次点击
所在节点    Python
12 条回复
jianghu52
2015-05-06 22:11:52 +08:00
我导进去没啥问题。
我不是大牛。只是猜。不知道你什么系统。有时候系统自带有python。比如centos,然后你又新装了一个python。这样的话,可能pip的安装地方不太对。
所以你需要查一下你的程序调用的是什么python。然后在这个python的lib下有没有printlist这个包。
redhatping
2015-05-06 22:19:38 +08:00
@jianghu52 我是mac系统, 有一个系统的python2.7 , 我自己安装了一个python3 ,现在我的环境下,在python2 .

我是正常,pip安装 真不知道,最后调用的是,哪个pip?
jianghu52
2015-05-06 22:31:24 +08:00
pip是不调用的,关键是你的项目用的是python几。然后查一下printlist被安装到了python几下
neoblackcap
2015-05-06 22:33:03 +08:00
是不是系统里面存在多个版本的Python啊?然后刚好启动的Python里面没有对应的模块,遇上就报错了

建议开发使用virtualenv
redhatping
2015-05-06 22:36:54 +08:00
@jianghu52 怎么查? 查下printlist被安装到了python几下
redhatping
2015-05-06 22:37:41 +08:00
@neoblackcap 是的 , 我发现最后是python3安装上了。
redhatping
2015-05-06 22:43:37 +08:00
pip freeze

查安装包的时候,是不分python2, 还是python3 , 但是我们在
pip install * , 它是如何安装的呢。选择的是,python2, 还是python3?
firebell
2015-05-06 22:49:46 +08:00
你时用的pycharm吧 估计你导入模块方式不对 在import之前得先添加一个包
jianghu52
2015-05-06 22:58:25 +08:00
@redhatping 在pip说穿了也是一个类库。所以你的python2.7下面也要装一个pip的。这样你调那个pip。他就会安装到哪个python上。
redhatping
2015-05-06 23:13:13 +08:00
我做了一条命令:
Uninstalling printlist-1.0.0:
/Library/Python/2.7/site-packages/printlist-1.0.0-py2.7.egg

为什么安装在python2.7里面 ,却 在python3可以导入, python2为什么不行,各位大牛,求解释。
neoblackcap
2015-05-06 23:26:11 +08:00
@redhatping 我觉得你问问题根本就问错了

我觉得你应该是安装到python 2.7的目录里面了,但是启动的时候是用python3的,所以就会出现找不到模块的情况。

若是用python script.py来启动脚本的,你可以试试python -v来查看具体的python目录,要知道pip也是有版本区分的,你一样可以将pip的具体版本打出来看看,至于看是哪一个pip,可以试试用whereis的命令
cosmosz
2015-05-07 16:53:25 +08:00
which pip
which python
看看两个对应么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX