python - 无法通过 setuptools 或 pip 提供软件包
问题描述
我搜索了数百个类似的问题,但没有一个对我有用,我确信我遗漏了一些非常明显的东西,但我仍然不知道是什么。这是我的问题:
我有一个包含多个包的 python 项目,我需要其中一些可以从服务器的任何地方使用,所以如果我更新一个函数,我可以在导入它的任何地方使用相同的版本。这是我的结构:
myproject
|
|-- __init__.py
|-- setup.py
|
|------api
| |
| |---__init__.py
| |---main.py
| |
| endpoints
| |
| |-- __init__.py
| |-- something1.py
| |-- something2.py
|
|
|------database
| |
| |-- __init__.py
| |-- important1.py
|
|
|------tools
| |-- __init__.py
| |-- important2.py
| |-- something3.py
我需要从和导入important1.py
和important2.py
something1.py
something2.py
something3.py
我尝试运行python setup.py install
它并没有抛出任何错误,这是它的内容:
from setuptools import setup, find_packages
setup(name='myproject', version='1.0', packages=find_packages())
我打印了 find_packages() 并且它返回了正确的包,我也尝试运行pip install -e .
这是输出pip list
Package Version Location
------------------ --------- --------------------
Jinja2 2.11.2
MarkupSafe 1.1.1
myproject 1.0 /root/myproject
然而,当我尝试跑步时,import myproject
我得到了 ModuleNotFoundError: No module named 'myproject'
我还尝试手动添加/root/myproject
到sys.path
,并通过.pth
文件添加它,我尝试的一切,我都尝试使用 virtualenv 而没有 virtualenv,对我来说这似乎不可能,我一定错过了一些东西
解决方案
推荐阅读
- mysql - Laravel 计算具有条件的两列的总和
- airflow - 无法访问 Airflow REST API
- javascript - 从一组输入生成和渲染 html
- python - 无法在 ubuntu 20.04.3 Python 3.6.15 pip 21.2.4 上安装 tensorflow
- c# - 如何在常量c#中使用getproperty
- c - 使用 SO_REUSEADDR 和 SO_REUSEPORT 在两个套接字上接收相同的数据包
- c# - PDFsharp 1.32 到 1.50 更新
- kotlin - 默认情况下,Surface(color = MaterialTheme.colors.primary) 上的文本有点透明。我可以将所有文本可组合物设为 100% 不透明吗?
- android - MSAL Android Xamarin 卡住对话框 - “您是否尝试登录 {your_appname}”?
- google-maps - 确定物理地址是高速公路的东边还是西边(例如 I-95) - 自然灾害准备