Comments (10)
Maybe
Is the project installable as a Python package?
from pdm.
It is better, but feels still confusing to me.
The truth is, I don't know exactly the intended meaning of the question.
Cargo has two modes: executable (cargo init hello
), and library (cargo init --lib hello
). Perhaps this should be the first question?
I don't know what's exactly the intent of a "non-installable" project. It seems to me that the main reason for using something like pdm is to allow others or myself to install what I did on another environment and have it work. Why not always define a package?
from pdm.
A typical web app is not installable right? People don't want to specify the extra info that is only required for an installable package.
from pdm.
What exactly is the extra info? I wouldn't mind an extra "description" question that I can leave blank. And regarding version, I think that it's reasonable to just always start with "0.1.0", as Cargo does. Are there any additional questions?
from pdm.
No all people like to install the project every time: #2492 (comment)
from pdm.
I don't think I really understand the use case of --no-self
- what's the advantage of not having the project package installed? Is it a way to just specify a venv with some dependencies, without .py files in the directories installed?
If so, I think those are 3 distinct uses:
- A library
- An executable
- A venv
WDYT?
from pdm.
@noamraph --no-self
allows one to install the dependencies. When the developer changes their own product's source code, they can install it without having to iterate all the dependencies. This can then be leveraged for optimized builds, e.g. for container images.
from pdm.
@sanmai-NL from what I see, the "self" package is installed in the venv in editable mode, so when the developer changes their own product's source code, it is automatically available in the venv. So I'm sorry, I still don't understand: when would you use --no-self
(or package-type = "application"
, which seems to do the same thing)?
from pdm.
I'm not claiming there are no alternative workflows, just noting a possible need from another user's perspective.
I don't install editable packages in container images, as they're not supposed to be editable there.
from pdm.
- A library
- An executable
- A venv
Didn't you make a folder with many scripts or a Django app that can't be installed from PyPI?
from pdm.
Related Issues (20)
- Download progress was not shown with large package installation HOT 1
- Feature request/proposal to expose project.scripts in output of `pdm show` HOT 2
- Proxy (HTTP_PROXY) settings are ignored for custom Repositories
- pdm venv activate doesn't quote strings properly for Powershell
- Inconsistent behavior between `pdm remove` and `pdm update`
- Unable to download non-py files HOT 2
- PDM caching breaks YoWASP packages HOT 5
- Remove editable package via CLI HOT 1
- In PowerShell `iex (pdm venv activate)` fails HOT 1
- Support for `--contstraint` file HOT 1
- Maximum recursion depth exceeded
- self update seem did not work HOT 2
- Allow installing packages without changing pyproject.toml HOT 1
- `pdm export --self` is incompatible with hashes (no `--without-hashes`)
- Locked incompatible file versions by Python version HOT 2
- Read operation timed out on bad connections
- Allow the repository url to be the service name in keyring HOT 1
- Skip using .netrc file on errors rather than raising HOT 1
- Auto show detail when step holding
- In monorepo, sibling dependencies can result in unintended absolute paths. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pdm.