新手,对 pypi 概念其实不是特别理解,只知道用 pip 下载 python 包用。网上查找这方面比较多的也是关于 django 里的 app 如何上传 pypi,但个人认为可以复用的 app 和 django 项目本质不太一样,app 和平常的 python 包比较像。所以想请教下是否有 v 友有相关经验的。。
现在我的猜想是,使用打包工具将 django 项目打包成.tar.gz 这样子的包,上传至 pypi 。从 pypi 对这个包进行下载,解压,解压后的文件就跟源代码目录结构一致,可以直接 py manage.py runserver...这样运行了?
1
jdhao 2021-01-27 17:00:49 +08:00 via Android
自己的项目为啥要传到 pypi,如果只是自己用,直接放 github 不就行了?
|
2
IVeverKB OP @jdhao #1
之后这个项目要放在服务器端 docker 里运行,要求就是用 pip 下载。可能对那个环境来说 pip 更方便吧? |
3
felinx 2021-01-27 17:06:58 +08:00 1
私有项目放哪不好要放 pypi
|
6
ruanimal 2021-01-27 17:09:51 +08:00
直接打包就好了啊,为啥要上传是 pypi,放在内部的 git 不好吗,pip 可以直接安装 git 库的
|
7
woshiaha 2021-01-27 17:10:27 +08:00
没懂 用 docker 跑直接打成 docker 镜像不就行了吗
|
9
CallMeReznov 2021-01-27 17:10:49 +08:00
既然要放到 docker 里,直接打包成 image 不是更好吗?
|
10
IVeverKB OP @woshiaha #7
镜像的 dockerfile 直接 pip 下载这个项目使用。。打成 docker 镜像那岂不是每次更新代码都要重打一遍 |
11
IVeverKB OP ?如果有人能真的回答我这个问题而不是告诉我我的问题有问题就好了
|
13
IVeverKB OP |
15
gazagoal1 2021-01-27 17:54:14 +08:00 via Android
@IVeverKB
django 依赖库有变化的话,在本地 build docker image 然后 push 到容器 repository(比如 AWS 的 ECR),到远端 pull 回来就行了。 只是代码有变化,尤其开发阶段,直接挂载 django 的本地的 django 目录到 docker mage 里就可以了。代码更新本地 push to git,在服务器端,git pull 到服务器的本地目录,重启 docker 容器就可以了,不用重新 build 。 |
16
IVeverKB OP @jdhao #14
嗯我的问题其实就是 python 包和 django 项目在本质构成上是有区别的(毕竟 django 不是用 import...来使用的),pypi 会不会因为这个区别而导致 django 项目在这个流程中产生变化。 我先试一下可不可以吧,感谢 |
17
jdhao 2021-01-27 18:01:36 +08:00 via Android
@IVeverKB 满足 pypi 需求前提下,然后大不了进入这个库的目录,运行你想运行的代码就行了,和你原来没有任何区别。。
|
18
felinx 2021-01-27 18:02:53 +08:00
pypi 如何上传打包现成的文档说明很清楚,随便用啥搜索引擎都能搜到,这种基础问题不用社区自己完全能解决
https://packaging.python.org/tutorials/packaging-projects/ |
19
wh0syourda66y 2021-01-27 18:05:55 +08:00
|
20
IVeverKB OP |