我有以下文件夹结构.
application/app/folder/file.py
我想从另一个驻留的Python文件中的file.py中导入一些函数
application/app2/some_folder/some_file.py
我试过了
from application.app.folder.file import func_name
和其他一些尝试,但到目前为止我无法正确导入.我怎样才能做到这一点?
我正在尝试遵循PEP 328,具有以下目录结构:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
在core_test.py
我有以下import语句
from ..components.core import GameLoopEvents
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,我收到以下错误:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
Run Code Online (Sandbox Code Playgroud)
搜索周围我发现" 相对路径甚至不能使用__init__.py "和" 从相对路径导入模块 ",但它们没有帮助.
这里有什么我想念的吗?
我有四个不同的文件:main,vector,entity和physics.我不会发布所有代码,只发布导入,因为我认为这就是错误所在.(如果你愿意,我可以发布更多)
主要:
import time
from entity import Ent
from vector import Vect
#the rest just creates an entity and prints the result of movement
Run Code Online (Sandbox Code Playgroud)
实体:
from vector import Vect
from physics import Physics
class Ent:
#holds vector information and id
def tick(self, dt):
#this is where physics changes the velocity and position vectors
Run Code Online (Sandbox Code Playgroud)
向量:
from math import *
class Vect:
#holds i, j, k, and does vector math
Run Code Online (Sandbox Code Playgroud)
物理:
from entity import Ent
class Physics:
#physics class gets an entity …
Run Code Online (Sandbox Code Playgroud) Python安装在本地目录中.
我的目录树如下所示:
(local directory)/site-packages/toolkit/interface.py
Run Code Online (Sandbox Code Playgroud)
我的代码在这里:
(local directory)/site-packages/toolkit/examples/mountain.py
Run Code Online (Sandbox Code Playgroud)
为了运行这个例子,我写了python mountain.py
,在我的代码中:
from toolkit.interface import interface
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Traceback (most recent call last):
File "mountain.py", line 28, in ?
from toolkit.interface import interface
ImportError: No module named toolkit.interface
Run Code Online (Sandbox Code Playgroud)
我已经检查过sys.path
,我有目录/site-packages
.另外,我__init__.py.bin
在toolkit文件夹中有文件向Python表明这是一个包.我__init__.py.bin
在examples目录中也有一个.
我不知道为什么Python在它出现时无法找到该文件sys.path
.有任何想法吗?可以是权限问题吗?我需要一些执行权限吗?
我安装了最新的python(2.7.9)捆绑了pip和setuptools for windows 32-bit.我已经尝试重新安装pip,但问题仍然存在.
这是pip --version
在Administrator cmd中运行后的错误:
Traceback (most recent call last):
File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "D:\Python\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Airflow 和 Postgres 构建一个 docker 容器,但在构建过程中出现了许多错误,如下所示。我尝试过降级,markupsafe
如下requirements.txt
所示,但没有帮助。我可以做什么来解决这个问题?
# I tried this version:
markupsafe==2.1.1
# and then also this one:
markupsafe==2.0.1
Run Code Online (Sandbox Code Playgroud)
错误信息:
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.7/site-packages/markupsafe/__init__.py)
Run Code Online (Sandbox Code Playgroud)
我的docker-compose.yml
:
version: '3'
services:
postgres:
image: postgres:11.2
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
ports:
- "5432:5432"
webserver:
image: puckel/docker-airflow:1.10.4
build:
context: https://github.com/puckel/docker-airflow.git#1.10.4
dockerfile: Dockerfile
args:
AIRFLOW_DEPS: gcp_api,s3
restart: always
depends_on:
- postgres
environment:
- LOAD_EX=n
- EXECUTOR=Local
- FERNET_KEY=jsDPRErfv8Z_eVTnGfF8ywd19j4pyqE3NpdUBA_oRTo=
volumes:
- ./sparkify/dags:/usr/local/airflow/dags
# Uncomment …
Run Code Online (Sandbox Code Playgroud) 我正在使用Python并使用Flask.当我在我的电脑上运行我的主要的Python文件,它完美的作品,但是当我启动VENV和运行在终端的瓶的Python文件,它说,我的主要的Python文件中有"无模块命名BS4." 非常感谢任何意见或建议.
我正在尝试运行一个启动python脚本的脚本.我得到一个ImportError:没有名为...的模块,但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则接受该模块.
发生了什么,我该如何解决?我试图理解python如何使用PYTHONPATH,但我完全糊涂了.任何帮助将非常感谢.
我正在尝试构建OpenERP项目,完成依赖项.它现在给出了这个错误
Traceback (most recent call last):
File "openerp-client.py", line 105, in <module>
File "modules\__init__.pyo", line 23, in <module>
File "modules\gui\__init__.pyo", line 22, in <module>
File "modules\gui\main.pyo", line 33, in <module>
File "rpc.pyo", line 29, in <module>
File "common\__init__.pyo", line 22, in <module>
File "common\common.pyo", line 26, in <module>
File "tools\__init__.pyo", line 28, in <module>
File "dateutil\relativedelta.pyo", line 12, in <module>
ImportError: No module named six
Run Code Online (Sandbox Code Playgroud)
有人可以指导什么是错的,如何修复???
我有一个Ubuntu 14.04系统,我想在其上安装OpenCV并将其与Python 2.x一起使用.
我按照以下说明安装了OpenCV:https: //help.ubuntu.com/community/OpenCV
安装似乎运行正常,没有错误,脚本以输出结束
OpenCV 2.4.9 ready to be used
Run Code Online (Sandbox Code Playgroud)
当我尝试运行示例Python脚本时,我得到以下内容:
$ python opencv.py
Traceback (most recent call last):
File "opencv.py", line 1, in <module>
from cv2.cv import *
ImportError: No module named cv2.cv
Run Code Online (Sandbox Code Playgroud)
我怀疑我知道为什么,我只是不知道如何解决它.OpenCV安装到我运行安装脚本时所在的当前目录,它是我的主文件夹的子目录.
安装后遇到此导入错误的其他人似乎遇到了路径问题,并且很幸运将其添加到他们的代码中:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
Run Code Online (Sandbox Code Playgroud)
或者用同一目录更新他们的PYTHONPATH.我尝试添加该代码,它没有任何区别.我在"site-packages"目录中看不到任何文件.我应该在该目录中完成安装吗?我想安装说明会拼写出来.我怀疑我的问题与Python没有找到OpenCV安装有关,但我不知道如何继续.
请尽可能简单地帮助我安装OpenCV.