python setup.py install
โดยอัตโนมัติจะติดตั้งแพคเกจที่ระบุไว้ในการใช้requires=[]
easy_install
ฉันจะให้มันใช้งานpip
แทนได้อย่างไร?
python setup.py install
โดยอัตโนมัติจะติดตั้งแพคเกจที่ระบุไว้ในการใช้requires=[]
easy_install
ฉันจะให้มันใช้งานpip
แทนได้อย่างไร?
คำตอบ:
ใช่คุณสามารถ. คุณสามารถติดตั้งแพคเกจจาก tarball หรือโฟลเดอร์บนเว็บหรือคอมพิวเตอร์ของคุณ ตัวอย่างเช่น:
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 .
คุณสามารถลบrequests-2.3.0
โฟลเดอร์
pip install -e .
แพคเกจนี้จะติดตั้งในโหมดที่สามารถแก้ไขได้ การเปลี่ยนแปลงใด ๆ ที่คุณทำกับรหัสจะมีผลกับระบบทันที สิ่งนี้มีประโยชน์หากคุณเป็นผู้พัฒนาแพ็คเกจและต้องการทดสอบการเปลี่ยนแปลง นอกจากนี้ยังหมายความว่าคุณไม่สามารถลบโฟลเดอร์โดยไม่ทำให้การติดตั้งเสียหาย
python setup.py test
setup.py test
ได้โปรด
setup.py
เบื้องหลัง ถ้าฉันต้องการให้ผู้คนสามารถติดตั้งแพ็คเกจด้วย pip ได้ฉันต้องสร้างsetup.py
ไฟล์
pip install -e git+https://github.com/octocat/Hello-World.git#egg=Hello-World
หากคุณต้องการพิสูจน์เรื่องนี้ให้ลอง ข้อผิดพลาดคือNo such file or directory: 'c:\python\src\Hello-World\setup.py
คุณสามารถpip install
สร้างไฟล์ได้ทีpython setup.py sdist
แรก นอกจากนี้คุณยังสามารถซึ่งเป็นเหมือนpip install -e .
python setup.py develop
pip install -e
ใช้ไดเรกทอรีเป็นอาร์กิวเมนต์ไม่ใช่setup.py
ไฟล์ตัวเอง ตอนแรกผมไม่ได้สังเกตรอบระยะเวลาบัญชีpip install -e .
ซึ่งก่อให้เกิดความสับสนบางอย่างผม :)
pip install -e .
ฉันสามารถติดตั้ง แต่ด้วย pip ฉันจะถอนการติดตั้งจากโหมดที่แก้ไขได้อย่างไร
หากคุณใช้งานจริงpython setup.py install
คุณสามารถลองดังนี้:
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']
)