我正在pypy並添加路徑bitarray庫sys.path
後,我仍然無法導入模塊:如何使用pypy導入bitarray?
Python 2.7.3 (87aa9de10f9ca71da9ab4a3d53e0ba176b67d086, Feb 10 2014, 05:26:49)
[PyPy 2.2.1 with GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``every VM should come with neural
network trained to recognize microbenchmarks and randomly fluctuate them
+/-9000%''
>>>> import sys
>>>> sys.path.append('/usr/local/lib/python2.7/dist-packages/')
>>>> sys.path.append('/usr/local/lib/python2.7/dist-packages/bitarray/')
>>>> import bitarray
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/bitarray/__init__.py", line 11, in <module>
from bitarray._bitarray import _bitarray, bitdiff, bits2bytes, _sysinfo
ImportError: No module named bitarray._bitarray
在常規的Python(CPython的從資質安裝)進口bitarray工作正常,我的天堂」在用pip安裝之後,對模塊進行了任何修改。這裏有什麼問題?
以防萬一你需要它這裏是bitarray目錄的內容:
$ls /usr/local/lib/python2.7/dist-packages/bitarray/
_bitarray.so __init__.py __init__.pyc test_bitarray.py test_bitarray.pyc
UPDATE
爲pypy創建的virtualenv並與PIP安裝bitarray晴天后建議我仍然得到一個ImportError:
$ ls my-pypy-env/site-packages/bitarray
_bitarray.pypy-22.so __init__.py __init__.pyc test_bitarray.py test_bitarray.pyc
$ cd my-pypy-env/
~/my-pypy-env$ ./bin/activate
~/my-pypy-env$ pypy
Python 2.7.3 (87aa9de10f9ca71da9ab4a3d53e0ba176b67d086, Feb 10 2014, 05:26:49)
[PyPy 2.2.1 with GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``__xxx__ and __rxxx__ vs operation
slots: particle quantum superposition kind of fun''
>>>> import sys
>>>> sys.path.append('/home/sofia/my-pypy-env/site-packages/bitarray')
>>>> import bitarray
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named bitarray
UPDATE 2
Sunny的解決方案是正確的。新問題是追加/site-packages/bitarray
而不是/site-packages/
。我會雖然這virtualenv會自動添加到路徑,但它似乎沒有。
有任何方式來確保bitarray是用C編寫的? –
不是整個bitarray,而是ImportError中的submodule'bitarray._bitarray'。是的,它是:查看'_bitarray.so'文件的'.so'擴展名。 –
請注意,在virtualenv中運行'pip install bitarray',如上面的鏈接所述,似乎工作正常。它成功編譯C代碼,不需要用sys.path破解。 –