我在没有管理员权限的情况下安装的windows上使用python36。
我创建了一个简单的脚本tester.py
import petl as etl
fnar = [['foo','bar'],
['weebl','woobl']]
print(etl.fromcolumns(fnar).lookall())在命令行中,我将petl安装到一个目录中。
pip install petl -t lib
当我检查的时候,它就在里面。
2017-04-17 06:27 PM <DIR> petl
2017-04-17 06:27 PM <DIR> petl-1.1.1.dist-info我想使用这个目录来查找我的python36._pth file,所以我创建了一个petl。
.
lib
import site当我尝试运行我的脚本时,它找不到它!
>py tester.py
Traceback (most recent call last):
File "tester.py", line 2, in <module>
import petl as etl
ModuleNotFoundError: No module named 'petl'关于让._pth文件正常工作,我有什么误解吗?
发布于 2017-04-26 08:31:52
不幸的是,只有将.pth文件放在python -m site显示的标准位置之一,而不是当前工作目录中,才会对其进行评估。我不记得细节了,但我想Python首先会遍历这些标准位置,运行它在那里找到的任何.pth文件,然后将'' (当前工作目录)添加到sys.path的开头。这意味着您不能仅仅通过在启动脚本的目录中添加一个.pth文件来扩展路径。
据我所知,将相对位置添加到系统路径的唯一方法是将它们设置在主脚本的顶部,在import语句之前。在这种情况下,您可以使用类似于sys.path.append( os.path.join(os.path.dirname(__file__), 'lib'))的代码来完成此操作。
https://stackoverflow.com/questions/43460976
复制相似问题