- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 setup.py
为我的项目添加可运行的脚本。我将其添加到 setup
的 scripts=
参数中。当我从项目 ./solver
运行该脚本时,该脚本运行良好。我使用 sudo python setup.py install
安装它,并尝试使用 solver
运行它,但我得到 ImportError: No module named 'model'
。如何使用 setuptools 正确安装和运行我的脚本?
SOLVER/
solver/
model/
__init__.py
view/
__init__.py
controller/
__init__.py
__init__.py
main.py
solver <-- starts the app
setup.py
README.md
LICENCE
setup.py
:
#!/usr/bin/env python3
import os
from setuptools import setup, find_packages
setup(
name='SOLVER',
version='1.0.0',
description='SOLVER app test',
author=['me'],
license='BSD',
classifiers=['Programming Language :: Python :: 3 :: Only'],
packages=['solver'],
#packages=find_packages(exclude=["doc", "tests"]),
install_requires=['numpy>=1.10.4'],
scripts=['solver/solver'],
)
求解器
:
#!/usr/bin/env python3
from solver import main
main.gui_mode()
最佳答案
您需要在packages
参数中列出所有包,包括子包。您可以使用 find_packages
为您生成该列表。目前,您只需将 Python 文件安装在 solver/
目录中。
from setuptools import setup, find_packages
setup(
...
packages=find_packages(),
...
)
您还应该使用 entry_points
而不是 scripts
,特别是当您的脚本所做的只是导入和调用一个函数时。 setuptools 将从入口点构建脚本,这些脚本使用正确的 Python 二进制文件来安装它们。
setup(
...
packages=find_packages(),
entry_points={
'console_scripts': [
'solver=solver.main:gui_mode'
]
...
}
您可以在开发模式下安装软件包来获取脚本,而不是自己编写脚本。
pip install -e .
您还应该使用 pip
安装到系统中。它会跟踪已安装的内容,以便您稍后可以将其卸载。
pip install .
关于python - 使用 setup.py 安装的脚本引发 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36103395/
如何根据可用性使用有时像这样导入的不同模块运行相同的测试: try: from gevent.local import local except ImportError
我在使用 Nose 运行我的单元测试时遇到了一个ImportError,而当我单独运行它时却没有。此处提及的所有文件均可在 http://gist.github.com/395541# 中查看. 如果
当我在一个Python程序中导入熊猫时,我收到以下错误。这里也是程序:
我想下载Spacy,但终端的打字扩展版本降低了:。接下来,我想安装语言包python-m spacy Download en,但出现另一个错误:。我当前的python版本是3.7,我应该更新它吗?或者
我想下载Spacy,但终端的打字扩展版本降低了:。接下来,我想安装语言包python-m spacy Download en,但出现另一个错误:。我当前的python版本是3.7,我应该更新它吗?或者
Traceback (most recent call last): File "c:\users\sathish.pv\appdata\local\continuum\anaconda3\lib
我已经编写了一个名为coinview.py的脚本,它可以在Linux上运行。当我尝试以SYSTEM D身份运行它时,出现错误。错误:ImportError:没有名为‘Schedule’的模块。。我用的
这是我的错误信息 Traceback (most recent call last): File "app.py", line 9, in from forms import Conta
我正在使用 Mac OS x 10.10.3 Yosemite 和 Python 2.7.9 |Anaconda 2.2.0 (x86_64) 来处理很多 python 的东西。我正在使用 Eclip
我是 Django 新手,正在创建我的第一个项目。一切正常,突然出现 ImportError('win32 only') ImportError: win32.在网上搜索了很多,但没有找到解决方案。
回复 a similar question建议我不能以独立模式导入 Shell 的东西。但是,据我了解,St 是一个用 C 编写的单独库。但我仍然无法在 gjs 中导入它...... IE。 $ gj
好吧,我被这个难住了。我环顾四周,但找不到任何东西,也不知道如何调试它。基本上,python 在我未导入任何内容的代码行中抛出一个 ImportError。我有一个相当大的模块 ICgen,其中包含模
我正在调用 psycopg2 import psycopg2 我得到标准错误 ImportError: No module named psycopg2 我用 macports 安装了我的副本,所以我
我已经使用 brew 安装了 opencv3,但是在执行 import cv2 时遇到了 importError >>> import cv2 Traceback (most recent call
安装numpy表示已经是最新版本,出现在pip list返回的列表中也是,但是导入它会产生导入错误(并且这个问题对于每个其他已安装的模块都存在,例如 scipy、matplotlib)。 系统有什么问
我有一个 python 脚本,运行时会产生以下错误: import urllib2 File "C:\Python27\lib\urllib2.py", line 94, in import htt
我正在尝试运行 this tutorial在合作实验室。 但是,当我尝试导入一堆模块时: import io import torch from torchtext.utils import down
我在这里遇到了一个特别棘手的问题。 我目前正在做一个个人项目,从一个相对简单的 Riot API 包装器开始,一切都运行良好,直到我想打包它并组织模块。这是该项目的链接:Logistic Analys
我已经通过easy_install.py --upgrade google-api-python-client安装了适用于Python的Google API客户端库。当我运行包含from oauth2
我正在使用 Django,并且我的组应用程序不断收到此错误,我检查了所有导入设置,一切都很好。我的注册和个人资料应用程序运行顺利,但为什么这个应用程序给我一个 ImportError 模型? Trac
我是一名优秀的程序员,十分优秀!