查看: 2127|回复: 4

Error installing the Python Cryptography package

[复制链接]

5

主题

41

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2018-9-19 09:54:27 | 显示全部楼层 |阅读模式
本帖最后由 上条把妹之手 于 2018-9-19 09:56 编辑

我有以下文件夹结构。
application/app/folder/file.py
我想从另一个Python文件中的file.py中导入一些函数
application/app2/some_folder/some_file.py
我尝试
from application.app.folder.file import func_name
和其他一些尝试,但到目前为止我无法正确导入。我怎样才能做到这一点?
回复

使用道具 举报

4

主题

37

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2018-9-19 09:56:01 | 显示全部楼层
默认情况下不能。导入文件时,Python只搜索当前目录,运行入口点脚本的目录,以及sys.path包括安装目录在内的位置(实际上比这更复杂,但这涵盖了大多数情况) 。
但是,您可以在运行时添加到Python路径:
  1. # some_file.py
  2. import sys
  3. sys.path.insert(0, '/path/to/application/app/folder')

  4. import file
复制代码

回复

使用道具 举报

3

主题

31

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2018-9-19 09:58:29 | 显示全部楼层
没有错:
from application.app.folder.file import func_name
只需确保文件夹中还包含__init__.py,这样就可以将其作为包包含在内。
回复

使用道具 举报

4

主题

33

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2018-9-19 09:59:31 | 显示全部楼层
当模块处于并行位置时,如问题所示:
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
这个简写使一个模块对另一个模块可见:
import sys
sys.path.append('../')
回复

使用道具 举报

13

主题

53

帖子

131

积分

注册会员

Rank: 2

积分
131
发表于 2018-9-19 10:00:06 | 显示全部楼层
我认为一种干净的方法是使用文档中描述的环境变量PYTHONPATH:Python2,Python3
export PYTHONPATH=$HOME/dirWithScripts/ : $PYTHONPATH
# Windows users: use "set" instead of "export"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表