Antworten:
Ja, du kannst. Sie können ein Paket von einem Tarball oder einem Ordner im Web oder auf Ihrem Computer installieren. Beispielsweise:
pip install https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
wget https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
pip install requests-2.3.0.tar.gz
tar -zxvf requests-2.3.0.tar.gz
cd requests-2.3.0
pip install .
Sie können den requests-2.3.0
Ordner löschen .
pip install -e .
Dadurch wird das Paket im bearbeitbaren Modus installiert . Alle Änderungen, die Sie am Code vornehmen, werden sofort systemweit angewendet. Dies ist nützlich, wenn Sie der Paketentwickler sind und Änderungen testen möchten. Dies bedeutet auch, dass Sie den Ordner nicht löschen können, ohne die Installation zu unterbrechen.
python setup.py test
setup.py test
, bitte?
setup.py
hinter den Kulissen. Wenn ich möchte, dass Benutzer mein Paket mit pip installieren können, muss ich eine setup.py
Datei erstellen .
pip install -e git+https://github.com/octocat/Hello-World.git#egg=Hello-World
. Der Fehler istNo such file or directory: 'c:\python\src\Hello-World\setup.py
Sie können pip install
eine Datei vielleicht python setup.py sdist
zuerst. Sie können auch pip install -e .
was ist python setup.py develop
.
pip install -e
ein Verzeichnis als Argument verwendet wird, nicht die setup.py
Datei selbst. Zuerst bemerkte ich nicht die Zeit, in pip install -e .
der ich etwas Verwirrung stiftete :)
pip install -e .
kann ich aber mit pip installieren, wie kann ich aus dem bearbeitbaren Modus deinstallieren?
Wenn Sie wirklich darauf eingestellt sind, können python setup.py install
Sie Folgendes ausprobieren:
from setuptools import setup, find_packages
from setuptools.command.install import install as InstallCommand
class Install(InstallCommand):
""" Customized setuptools install command which uses pip. """
def run(self, *args, **kwargs):
import pip
pip.main(['install', '.'])
InstallCommand.run(self, *args, **kwargs)
setup(
name='your_project',
version='0.0.1a',
cmdclass={
'install': Install,
},
packages=find_packages(),
install_requires=['simplejson']
)