这里是我的python
项目结构
▶ tree -L 2
.
├── Dockerfile
├── README.md
├── my_app
│ ├── __init__.py
│ ├── main.py
│ ├── settings.py
│ ├── utils.py
│ └── views.py
package_dir={'': 'my_app'},
packages=find_packages(where='my_app'),
include_package_data=True,
python_requires='>=3.9',
entry_points={
'console_scripts': [
'my-app=my_app.main:run',
],
pip3 install . --force-reinstall
运行正常,我在虚拟环境中。
然而,当试图运行程序时
Traceback (most recent call last):
File "/Users/myuser/myfolder/.venv/bin/my-app", line 5, in <module>
from my_app.main import run
ModuleNotFoundError: No module named 'my_app'
我还注意到在ls.venv/lib/python3.9/site packages/
中没有myapp
的源文件,只有myu app-0.0.1.dist info
文件
为什么呢?
您误解了find_程序包(where='my_app')
的工作原理,请参见以下内容:
find_packages(where=',exclude=())
返回在目录where中找到的所有Python包的列表
这意味着它并不意味着尝试从当前文件夹中找到包my_app
,而是尝试从文件夹中找到包my_app
,在您的情况下,不会在my_app
中找到包。
所以,对于你的情况,接下来就足够了:
setup.py:
from setuptools import setup, find_packages
setup(
name="my-app",
version="0.0.1",
packages=find_packages(),
include_package_data=True,
entry_points={
'console_scripts': [
'my-app=my_app.main:run',
],
}
)
另外,如果你的主要意图只是包含my_app
,绕过其他,那么find_packages(包括=[
语法就是你要找的:
setup.py:
from setuptools import setup, find_packages
setup(
name="my-app",
version="0.0.1",
packages=find_packages(include=['my_app']),
include_package_data=True,
entry_points={
'console_scripts': [
'my-app=my_app.main:run',
],
}
)
注意,不要使用package_dir={'': 'my_app'}
,它将尝试查找my_app.my_app
,除非您使用package_dir={'my_app':'my_app'}
,但在您的情况下没有意义。
1.7. 从源代码安装 Python 如果您宁愿从源码创建, 可以从 http://www.python.org/ftp/python/下载 Python 的源代码。选择最新的版本, 下载.tgz 文件, 执行通常的 configure, make, make install 步骤。 例 1.4. 从源代码安装 localhost:~$ su - Password: [enter your ro
我已经在android Studio2.3.1和Gradle3.2中设计了2到3个应用程序。当我将应用程序从它运行到任何设备或仿真器时,所有的程序都运行良好。但当我从build文件夹中获取apk并手动安装到设备或仿真器时。它每次都崩溃并给我错误classnotfound。这是主要活动。 我在用Mac,我试过很多种方法。即使我建立了新的项目,但仍然是同样的错误。下面是它的logcat。
问题内容: 我正在尝试在Ubuntu PC上使用composer安装laravel安装程序,但是在安装过程中出现此错误。您的要求无法解决为一组可安装的软件包。 出现错误,然后我使用此注释: 问题答案: 它说它需要 zip扩展名 laravel / installer v1.4.0需要ext-zip ........ 安装与已安装的php版本相对应的版本:
首先你需要安装Golang,关于Golang的安装,参见官方文档 install instructions。 下载 你需要获取Gitea的源码,最方便的方式是使用 go 命令。执行以下命令: go get -d -u code.gitea.io/gitea cd $GOPATH/src/code.gitea.io/gitea 然后你可以选择编译和安装的版本,当前你有多个选择。如果你想编译 mas
我不知道我应该从哪里开始,因为我必须通过安装4j安装程序在JBoss上部署一个网络应用程序。 我已经创建了动态Web应用程序,我想在JBoss上部署这个应用程序,但是部署一个war文件并在客户端机器上配置JBoss不是一个好主意,因此我想创建一个安装程序文件(. exe)文件,它将处理以下事情: > 在客户机上安装JBoss服务器 在JBoss服务器上部署我的应用程序 所以我只需要把安装程序文件给
我正在通过终端安装CreateReact应用程序。我已经检查了节点。js版本是4.5。0,高于此处的要求。npm的版本是2.15。9.然后我键入命令npm install-g create react app,出现这样的错误信息: 我想知道为什么我会犯这样的错误。有人能帮我解决这个问题吗?非常感谢你!