Saya mencoba menjalankan proyek github lama. Ini berjalan pada python2.7, jadi saya membuat virtualenv untuk itu, yang menggunakan pip==20.3.4 dan saya mencoba untuk menginstal semuanya dan menjalankannya dalam source ./venv/bin/activate

Ketergantungan di dalamnya terdaftar sebagai

      install_requires = ['Django == 1.5.1',
                          'pyglet >= 1.1.4',
                          'tiledtmxloader >= 3.0.3',
                          'pygame>=1.9.1',
                         ],

Tetapi karena versi terbaru dari paket-paket ini tidak cocok dengan python2.7 atau proyek seperti itu, saya mengubah dependensi ini menjadi == alih-alih >=

      'Django == 1.5.1',
      'pyglet == 1.1.4',
      'tiledtmxloader == 3.0.3',
      'pygame==1.9.1',

Saya dapat menginstal pyglet versi lama tetapi untuk paket lain, saya menerima kesalahan seperti

ERROR: Could not find a version that satisfies the requirement tiledtmxloader==3.1.0 (from versions: 3.1.0.131)
ERROR: No matching distribution found for tiledtmxloader==3.1.0

RROR: Could not find a version that satisfies the requirement pygame==1.9.1 (from versions: 1.9.2b5, 1.9.2b6, 1.9.2rc1, 1.9.2, 1.9.3, 1.9.4.dev0, 1.9.4rc1, 1.9.4, 1.9.5.dev0, 1.9.5rc1, 1.9.5rc2, 1.9.5, 1.9.6rc1, 1.9.6rc2, 1.9.6, 2.0.0.dev1, 2.0.0.dev2, 2.0.0.dev3, 2.0.0.dev4, 2.0.0.dev6, 2.0.0.dev8, 2.0.0.dev10, 2.0.0.dev12, 2.0.0.dev14, 2.0.0.dev16, 2.0.0.dev18, 2.0.0.dev20, 2.0.0.dev22, 2.0.0.dev24, 2.0.0, 2.0.1.dev1, 2.0.1)
ERROR: No matching distribution found for pygame==1.9.1

Apakah versi lama dari paket-paket ini tersedia untuk diunduh? Yang ingin saya lakukan hanyalah menjalankan program, jadi lebih masuk akal untuk mengunduh paket yang lebih lama dan menjalankan program apa adanya, daripada mencoba mengubahnya menjadi python3. Saya bahkan tidak tahu apakah saya akan menyukai program ini setelah saya memperbaruinya.


Saya ingin tahu cara mengunduh paket-paket ini, sehingga saya dapat menjalankan proyek apa adanya, tanpa harus mengedit apa pun

1
Sam 23 Mei 2021, 13:11

2 jawaban

Jawaban Terbaik

Secara default pip mendownload paket dari Python Pakckage Index jadi saat Anda menjalankan pip install tiledtmxloader paket tersebut akan https://pypi.org/project/tiledtmxloader/#history (well, sebenarnya buka API Sederhana) mencari versi yang sesuai dengan platform Anda (arsitektur prosesor, 32- vs 64-bitness, versi Python). Saat ini tiledtmxloader menyediakan tepat satu versi 3.1.0.131 yang hanya berfungsi dengan Python 3 jadi itu tentu bukan yang Anda inginkan.

Ada Beranda dan tautan Unduhan di PyPI yang mengarah ke Arsip Kode Google. Di halaman unduh ada beberapa versi lama. Saya mencoba yang terbaru, 3.1.0.115, ini berfungsi dengan Python 2.7. Jadi coba ini:

pip install https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pytmxloader/tiledtmxloader-3.1.0.115.zip

Ubah setup.py:

  install_requires = ['Django == 1.5.1',
                      'pyglet >= 1.1.4',
                      'tiledtmxloader @ https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pytmxloader/tiledtmxloader-3.1.0.115.zip',
                      'pygame>=1.9.1',
                     ],

Ini adalah referensi langsung, lihat https://pip.pypa.io /en/stable/cli/pip_install/#requirement-specifiers dan https://www.python.org/dev/peps/pep-0440/#direct-references

1
phd 24 Mei 2021, 10:22

Saya berhasil, saya harus mengubah install_requires menjadi == alih-alih >=

install_requires = [
    'Django == 1.5.1',
    'pyglet == 1.1.4',
    'tiledtmxloader == 3.0.3.114',
    'pygame==1.9.3',
],
      

Pygame dan tiledtmxloader tidak dapat mengunduh dari pip, jadi saya harus mengunduh pygame dan tiledtmxloader dari sumber. Saya menggunakan python==1.9.3 alih-alih 1.9.1, ada beberapa masalah dengan 1.9.1

pip install https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pytmxloader/tiledtmxloader-3.0.3.114.zip
pip install https://pypi.python.org/packages/61/06/3c25051549c252cc6fde01c8aeae90b96831370884504fe428a623316def/pygame-1.9.3.tar.gz#md5=ac744ea6952b68d5f2b6d02a6d8e836c

Saya harus melakukan ini semua dalam python2 virtualenv yang dibicarakan di pertanyaan Stack Overflow ini.

Selain fakta bahwa saya harus menggunakan pygame 1.9.3 alih-alih 1.9.1 semuanya berfungsi

0
Sam 25 Mei 2021, 05:55