Risposte:
Si, puoi. Puoi installare un pacchetto da un tarball o una cartella, sul web o sul tuo computer. Per esempio:
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 .
È possibile eliminare la requests-2.3.0cartella.
pip install -e .
Questo installa il pacchetto in modalità modificabile . Qualsiasi modifica apportata al codice verrà immediatamente applicata in tutto il sistema. Ciò è utile se si è lo sviluppatore del pacchetto e si desidera verificare le modifiche. Significa anche che non è possibile eliminare la cartella senza interrompere l'installazione.
python setup.py test
setup.py test, per favore?
setup.pydietro le quinte. Se voglio che le persone siano in grado di installare il mio pacchetto con pip, devo creare un setup.pyfile.
pip install -e git+https://github.com/octocat/Hello-World.git#egg=Hello-World. L'errore èNo such file or directory: 'c:\python\src\Hello-World\setup.py
È possibile pip installun file forse python setup.py sdistprima. Puoi anche pip install -e .che è come python setup.py develop.
pip install -eaccetta una directory come argomento, non il setup.pyfile stesso. All'inizio non ho notato il periodo in pip install -e .cui mi ha causato confusione :)
pip install -e .posso installare ma con pip, come posso disinstallare dalla modalità modificabile?
Se sei davvero pronto per l'uso, python setup.py installpotresti provare qualcosa del genere:
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']
)