我做了教程" http://django-mptt.github.com/django-mptt/tutorial.html "中的步骤
但它仍然给我导入错误,我仔细检查mptt的代码,发现类mptt>模型文件中存在类MPTTMODEL
Validating models...
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x1ec4710>>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/commands/runserver.py", line 91, in inner_run
self.validate(display_num_errors=True)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/base.py", line 266, in validate
num_errors = get_validation_errors(s, app)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/validation.py", line 30, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 158, in get_app_errors
self._populate()
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 67, in _populate
self.load_app(app_name)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 88, in load_app
models = import_module('.models', app_name)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/utils/importlib.py", line …Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多与此相关的其他SO问题,但仍然无法让它为我工作.为重叠提前道歉!我在Windows 7上使用python 2.7.10.
我正在尝试导入我在PyCharm的Python控制台中编写的模块(这一点很重要).在控制台中,我导航直到我在包含我的模块的目录中:
/users/usn/.../Tools/my_file.py
Run Code Online (Sandbox Code Playgroud)
可以使用pwd确认.然后我试试
import my_file
Run Code Online (Sandbox Code Playgroud)
但得到错误ImportError:没有名为my_file的模块.我尝试了一些变化无济于事.如何在控制台中导入我写的模块?
谢谢
在我的脚本中,我希望模块中有一个函数,希望可以在主模块中使用该函数以防止冗余。这个其他模块(不是我的主模块,我们称它为two.py)包含几个类,并导入一个类以供另一个模块使用
from someDirectory.two import ClassA
Run Code Online (Sandbox Code Playgroud)
可以很好地导入整个类,但是要说我在同一模块myFunction()中的另一个类ClassB中有一个函数two.py,我希望能够在我的中使用它main.py。
有没有一种方法可以“抢”该函数供我main.py或其他模块使用,而不必导入整个类或重新定义相同的函数?
当我尝试运行我的 python 项目时,在某些情况下我会收到此错误:
File "/usr/local/bin/AAA/camera_service/camera_service_main.py", line 6, in <module>
from views.hires_camera_handler_view import hires_camera_handler_blueprint
File "/usr/local/bin/AAA/camera_service/views/hires_camera_handler_view.py", line 7, in <module>
from hires_camera_handler.hires_camera_handler import HiResCameraHandler
File "/usr/local/bin/AAA/camera_service/hires_camera_handler/hires_camera_handler.py", line 3, in <module>
from ids_peak import ids_peak
File "/home/izx/anaconda3/envs/py38/lib/python3.8/site-packages/ids_peak/ids_peak.py", line 18, in <module>
from . import _ids_peak_python_interface
ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
目标文件存在于 ~/anaconda3/envs/py38/lib 中
我可以通过添加 export LD_LIBRARY_PATH=~/anaconda3/envs/py38/lib 来使代码在终端中运行
然而,这里似乎有一个更深层次的问题,因为我的更多项目的行为与其他 ubuntu 安装不同。我当然可以重新安装ubuntu。但我想了解我在这里做错了什么。
另外,上述解决方案并不能解决问题。我仍然无法在 PyCharm 中运行我的测试,这将非常有益。也许我可以以某种方式在我的 pycharm 运行中设置这个值,但是,设置路径变量不起作用,我不知道该怎么做。
我尝试过各种解决方案。安装 libpython3.8(已安装),安装 libpython3.8-dev(在 ubuntu 22.04 jammy 上不可用)。我还向 bashrc 添加了该值,但正如预期的那样,这并不能解决 PyCharm …